问题标签 [portable-executable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4358 浏览

dll - 导入地址表中的 Thunk 表?

什么是与 EXE 文件中用于导入外部 DLL 中使用的函数的导入地址表相关的 thunk 表?

这个 thunk 表只是一个包含“Thunk”到其他函数的表吗?

0 投票
1 回答
238 浏览

resources - Windows 可移植可执行资源 - 寻找嵌入式清单结构描述

我正在寻找嵌入在 PE 文件中的清单的描述。我知道这是一个 XML 文件,我正在寻找的是对其结构和/或字段的描述。

0 投票
3 回答
3747 浏览

windows - 应用程序清单和程序集清单之间的区别

应用程序清单和程序集清单有什么区别?每一个用在什么地方?在 .dll 或 .exe 资源中找到这两者中的哪一个?(或者两者都可以?)。

很抱歉,如果一次有太多问题,但如果有人可以向我解释这一点,那将非常有帮助。我问这个的原因是我希望能够从嵌入在 PE 文件中的清单中提取信息。我找到了清单的这些描述,但是有两个,我不确定要遵循哪一个:

应用程序清单描述
程序集清单描述

编辑:不,我不想使用任何 API 调用。我都是自己写的。

0 投票
1 回答
275 浏览

portable-executable - 导出的函数有提示吗?

Dependency walker (depends.exe) 显示导出函数的“提示”列。据我了解 Portable Executable 格式,导出的函数没有提示。有人能告诉我导出的函数是否有提示吗?实际上,只有导入的函数才应该有提示..

我终于找到了我的问题的答案......:

在依赖项 Walker(以及 Dumpbin 中)中,“提示”是导出函数在 EAT(导出地址表)中的位置!这个位置被命名为“提示”,因为加载器在从 IAT(导入地址表)搜索函数时会使用这个位置。就如此容易!

谢谢。

0 投票
3 回答
2702 浏览

windows - 微软的 ASLR 很奇怪

我观看了 32 位进程的基于 ASLRed dll图像的地址。
这不是完全随机化。它只是随机化了 1/2 的概率。

例如,一旦我加载了一个 dll,图像就会加载到0x12345678上。
然后我再次加载图像,图像加载到0x23456789。(基地址已更改!)
但我再次加载图像
0x12345678
0x23456789
0x12345678
0x23456789

...

他们为什么这样做?
是因为崩溃报告的频率吗?(为了获得重新部署的 dll 的相同崩溃地址)

0 投票
4 回答
596 浏览

.net - 可以从本机 Win32 程序调用 .NET VM (mscorlib) 来执行 IL/其他内部编译代码格式吗?

老问题:我有一个带有 IL (.NET) 代码的 .exe (PE)。启动时,会调用 mscorlib.dll(.NET 框架)函数来启动 IL 代码。我可以提取 .NET 代码段并将其附加到其他程序(调用 mscorlib.dll 来执行该段)吗?

新问题:

我想将 C# .NET 程序中的编译代码附加到本机纯 Win32 应用程序,该应用程序可以在没有任何 .NET 运行时运行的情况下运行,并通过动态调用 mscorlib.dll 的函数来执行它(如果存在 .NET)。这就像“可执行连接器”技术,而不是本机编译。

我不想将一些 .NET .exe 写入临时目录并执行它;它已经完成,现在想通过在我的文件中的 .NET 代码上直接调用 .NET vm 来删除临时文件夹(通过给出找到的结构/会话的偏移量,或者只是通过分配正确的 PE .section 名称 - 只知道一点关于 PortableExecutable 格式)。

参考:http ://webcache.googleusercontent.com/search?q=cache:u9tTX2sfkhAJ:social.msdn.microsoft.com/Forums/en/clr/thread/2677c0b6-6b3c-4a51-9fcc-c2d8838c7b8b+compiled+IL

0 投票
7 回答
9249 浏览

c# - 将数据保存在可执行文件中

我有一个可移植的可执行文件,它将数据保存到与可执行文件位于同一文件夹中的文件中。当我关闭应用程序时,有什么方法可以将数据保存到可执行文件本身中?

这可能很奇怪,但是随身携带数据并且只有一个用于 exe 和数据的文件会很棒。

如果这是用 C# 制作的,但不是必需的。

0 投票
3 回答
679 浏览

.net - 如何以编程方式在 .Net 可执行文件/dll 中查找字节码 (CIL)?

我想打开一个 PE 文件(我知道它是一个 .Net 程序集)并找到 .Net 字节码的位置(最好从入口点开始)。我知道 PE 标头数据(入口点 RVA)将我带到一个从 mscoree.dll 调用 CorExeMain 的存根

这不是我想要的。我想找到由 mscorlib 运行的字节码。我如何使用 C++而不使用 ildasm、dumpbin 等外部工具来做到这一点?我已经可以解析 PE 标头并知道图像库/RVA 的含义。我只是不知道在哪里可以找到有关 IL 字节码位置的足够信息。

0 投票
1 回答
416 浏览

calling-convention - 如何调查Windows中PE二进制文件的调用约定?

是否有工具可以显示调用约定是 _cdecl 还是 _stdcall 还是其他?

0 投票
1 回答
149 浏览

portable-executable - PEiD 可以处理硬编码的软件限制吗?

正如我们所知, PEiD可以检测 PE 文件的最常见的打包程序、加密程序和编译器,但它可以检测硬编码的东西(不是由 3rd 方打包程序等),比如软件使用日期限制吗?