在Windows上定位代码独立的可执行文件

时间:2018-03-28 17:20:15

标签: portable-executable

是否可以为Windows建立一个独立的位置代码? 我不是在谈论一个DLL,我在谈论可执行文件(PE)。

我想要做的是程序中的函数(例如main)应该在两次执行之间映射到不同的内存地址。

由于

1 个答案:

答案 0 :(得分:0)

您应该阅读PE文件中的映像库重定位目录。我想知道你现在回答的同样的事情。从我所做的研究中,我无法找到任何生成完全基本独立代码的编译器。我最终完全在x86 asm中编写了我的程序,其中有一些技巧来加载字符串等独立于地址的形式。我可以告诉你它不值得麻烦。只需将所有地址重新映射到目标位置即可。

我建议你开始读这个 https://msdn.microsoft.com/en-us/library/ms809762.aspx

你还应该查看Icezilon(不知道你如何拼写他的名字)教程。他们非常乐于助人