0

我在 VC++ 2008 (express) 中工作,我想用 C 写一些东西来创建一个“空”的 exe,我以后可以调用LoadLibrary它并使用BeginUpdateResource,UpdateResourceEndUpdateResource修改内容。

仅仅写一个 0 字节的文件不允许我用 LoadLibrary 打开它,因为它不是资源。

4

3 回答 3

4

您可以编译一个空的 .exe 文件,例如,

int main() { return 0; }

并将其用作模板。(或者一个空的.dll,无论如何)

于 2009-10-30T12:00:37.833 回答
3

.EXE 格式是一种复杂的文件格式。它有一堆必需的标头来描述其基本执行属性(16 位、32 位或 64 位,以及 DOS/Win16/Win32/Win64 模式以及 EXE 与 DLL)。之后,它必须有一个正确的地址重定位表。它不是微不足道的,您已经对 .EXE 文件格式进行了一些研究以正确执行此操作。

于 2009-10-30T11:57:15.203 回答
3

“创建” exe 是编译器非常擅长的事情。那么为什么不让编译器创建您想要的可执行文件,并使用该文件(或其内容的二进制表示)进行复制呢?

于 2009-10-30T12:03:31.430 回答