2011-11-11 227 views
0

我正在談論Windows PE文件。 有沒有辦法檢查一個文件是否包含另一個文件? 我的意思是......如果我合併兩個項目這樣檢查一個文件是否包含另一個文件

MZ header 1st program 
PE header 1st program 
. 
. 
. all the sections from 1st program 
. 
MZ header 2nd program 
PE header 2nd program 
. 
. 
. all the sections from 2nd program 
. 

成一個可運行的程序是什麼?當然,只有第一個會運行。

+0

你想要一個命令行工具來搜索另一個二進制內的二進制文件? – tenfour

+0

你的目標是什麼?我想不出合併兩個exectuables文件的合法(而不是可疑)理由。 – ereOn

+0

我在尋找C/C++解決方案,並且需要它用於關於惡意軟件研究的學士論文。 – Samuel

回答

1

對於您的情況,您首先需要獲取有關最後部分PE文件(IMAGE_SECTION_HEADER)的偏移量和大小信息。一旦你有了這些信息,你就可以在(offset + size)之後讀取塊,如果它與另一個PE格式(MZ幻數)相匹配,那麼建議有第二個文件附加到第一個文件。

+0

謝謝,這很有幫助,但我遇到了一個問題 - 它適用於發佈版本,而不是調試版本。這可能是什麼原因?我還沒有找到任何有關體育部門之後的信息。我認爲部分是最後的。它可能是一些調試數據?他們不應該在調試目錄中嗎? – Samuel

+0

它可能是,沒有必要調試符號數據庫,但其他東西,有助於調試,或完全不同的東西。它確實可以是任何東西...... – JosephH

相關問題