2

此問題與Windows上的反向工程/二進制修補有關。爲Windows PE可執行文件中添加的字節碼(機器代碼)創建空間

我需要一個免費的工具來允許我將彙編程序(或機器代碼)添加到已經生成的可執行文件中。我不是在談論Java或.NET,而是本機字節碼(x86機器碼)。

另外,如果我需要更多的空間呢?我是否需要添加另一部分?存在什麼工具來擴展PE exe文件?

回答

0

有幾種將代碼添加到現有pe文件的方法。 一種方法是在代碼部分找到一個洞穴,洞穴通常是一個填充零的部分。 另一個(更好的)方法是在PE文件中添加一個Section,以便爲代碼留出空間。 這是一個有點具有挑戰性,因爲你必須手動調整像SizeOfImage,RawSize等各種指針等。

您可以使用LORDPE(谷歌它)。

+0

不能像OllyDbg這樣的調試器嗎?它似乎簡單的添加功能? – unixman83 2011-04-11 11:37:54

+0

是OllyDbg是最好的Ring 3調試器。你可以做任何事情。獲得一個洞穴並在那裏寫下你的指示。 – crypted 2011-04-11 12:39:17

1

如果你想真正編輯PE文件本身,爲了讓Olly做到這一點,你必須用一個可以運行進程並重建PE文件的工具來補充它,比如LordPE。 LordPE可能會爲你添加部分,這是爲了它自己的目的。

爲了編輯二進制文件來添加部分,你也可以嘗試一下「Stud PE」工具,它可以爲你添加部分,但你必須修改文件本身來獲得你想要的彙編字節進入二進制。

手動完成此操作的最簡單方法是增加二進制文件中最後一部分的大小(PE部分的部分的SizeOfRawData字段),增加PE標頭的SizeOfImage字段並在字段末尾放置字節文件。您可能還需要爲最後一部分(在PE標頭中)設置可執行標誌。

相關問題