2016-03-15 39 views
0

我想了解如何PE在Windows下工作,所以我会沿着写封装的路线。 所以我把入口点的地址指向_mainCRTStartup,并用一个指向“jmp_mainCRTStartup”的值替换它。 当我在调试器下运行它时,我的程序运行正常,但是如果我只是在没有调试器的情况下启动可执行文件,它会崩溃,并且无法附加调试器后崩溃,调试器说它未能附加到崩溃过程。替换入口点窗口的地址只能在调试器下工作

我想我的问题是:我的方法应该工作吗?如果是的话,我可以尝试解决这个问题?

感谢,

最大

+0

OEP?你的意思是AddressOfEntryPoint字段? –

+0

没错,我认为OEP代表Origin Origin入门点。 – awpsoleet

+0

确保您使用的是相对于可执行文件的实际加载地址的值(通常是ImageBase的值)。所以如果内存中的实际入口点应该是0x401570而ImageBase是0x400000,那么值应该是0x1570。 –

回答

0

事实证明,一切工作正常,我忘了在处理反调试程序的异常会崩溃的EXE,如果它不是在调试运行。

相关问题