问题标签 [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.
dll - 导入地址表中的 Thunk 表?
什么是与 EXE 文件中用于导入外部 DLL 中使用的函数的导入地址表相关的 thunk 表?
这个 thunk 表只是一个包含“Thunk”到其他函数的表吗?
resources - Windows 可移植可执行资源 - 寻找嵌入式清单结构描述
我正在寻找嵌入在 PE 文件中的清单的描述。我知道这是一个 XML 文件,我正在寻找的是对其结构和/或字段的描述。
portable-executable - 导出的函数有提示吗?
Dependency walker (depends.exe) 显示导出函数的“提示”列。据我了解 Portable Executable 格式,导出的函数没有提示。有人能告诉我导出的函数是否有提示吗?实际上,只有导入的函数才应该有提示..
我终于找到了我的问题的答案......:
在依赖项 Walker(以及 Dumpbin 中)中,“提示”是导出函数在 EAT(导出地址表)中的位置!这个位置被命名为“提示”,因为加载器在从 IAT(导入地址表)搜索函数时会使用这个位置。就如此容易!
谢谢。
windows - 微软的 ASLR 很奇怪
我观看了 32 位进程的基于 ASLRed dll图像的地址。
这不是完全随机化。它只是随机化了 1/2 的概率。
例如,一旦我加载了一个 dll,图像就会加载到0x12345678上。
然后我再次加载图像,图像加载到0x23456789。(基地址已更改!)
但我再次加载图像
0x12345678
0x23456789
0x12345678
0x23456789
...
他们为什么这样做?
是因为崩溃报告的频率吗?(为了获得重新部署的 dll 的相同崩溃地址)
.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 格式)。
c# - 将数据保存在可执行文件中
我有一个可移植的可执行文件,它将数据保存到与可执行文件位于同一文件夹中的文件中。当我关闭应用程序时,有什么方法可以将数据保存到可执行文件本身中?
这可能很奇怪,但是随身携带数据并且只有一个用于 exe 和数据的文件会很棒。
如果这是用 C# 制作的,但不是必需的。
.net - 如何以编程方式在 .Net 可执行文件/dll 中查找字节码 (CIL)?
我想打开一个 PE 文件(我知道它是一个 .Net 程序集)并找到 .Net 字节码的位置(最好从入口点开始)。我知道 PE 标头数据(入口点 RVA)将我带到一个从 mscoree.dll 调用 CorExeMain 的存根。
这不是我想要的。我想找到由 mscorlib 运行的字节码。我如何使用 C++而不使用 ildasm、dumpbin 等外部工具来做到这一点?我已经可以解析 PE 标头并知道图像库/RVA 的含义。我只是不知道在哪里可以找到有关 IL 字节码位置的足够信息。
calling-convention - 如何调查Windows中PE二进制文件的调用约定?
是否有工具可以显示调用约定是 _cdecl 还是 _stdcall 还是其他?
portable-executable - PEiD 可以处理硬编码的软件限制吗?
正如我们所知, PEiD可以检测 PE 文件的最常见的打包程序、加密程序和编译器,但它可以检测硬编码的东西(不是由 3rd 方打包程序等),比如软件使用日期限制吗?