2016-03-15 24 views
0

我想了解如何PE在Windows下工作,所以我會沿着寫封裝的路線。 所以我把入口點的地址指向_mainCRTStartup,並用一個指向「jmp_mainCRTStartup」的值替換它。 當我在調試器下運行它時,我的程序運行正常,但是如果我只是在沒有調試器的情況下啓動可執行文件,它會崩潰,並且無法附加調試器後崩潰,調試器說它未能附加到崩潰過程。替換入口點窗口的地址只能在調試器下工作

我想我的問題是:我的方法應該工作嗎?如果是的話,我可以嘗試解決這個問題?

感謝,

最大

+0

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

+0

沒錯,我認爲OEP代表Origin Origin入門點。 – awpsoleet

+0

確保您使用的是相對於可執行文件的實際加載地址的值(通常是ImageBase的值)。所以如果內存中的實際入口點應該是0x401570而ImageBase是0x400000,那麼值應該是0x1570。 –

回答

0

事實證明,一切工作正常,我忘了在處理反調試程序的異常會崩潰的EXE,如果它不是在調試運行。