2012-10-22 36 views
0

我已經成功編寫了一個C++代碼,用於通過讀取可執行文件來查找Visual Studio(在Windows XP中工作)中虛擬地址的部分標題及其範圍的名稱。在linux中使用PE部分標題

問題 - 現在我想在Linux環境中實現相同的代碼。我不是一個有經驗的Linux用戶,因此我不知道Linux提供的所有工具。是否可以在Linux中執行特定於Windows環境的代碼。如果是,它將如何識別頭文件,如windows.h & winNt.h。當然,我也必須在Linux中提供可執行文件。

+0

在Linux上運行時,您是否希望能夠轉儲有關** Windows **可執行文件的數據,或者希望在Linux上運行時能夠轉儲有關** Linux **可執行文件的數據?他們不完全相同... –

+0

我想使用Windows可執行文件。 – Worlock

+0

好的,只是檢查。 –

回答

0

您應該能夠使用C++標準中描述的函數來編寫可移植描述的代碼。例如,使用std::ifstream而不是CreatFile()

如果你可以在visual studio中編寫你的程序,而不需要參考<windows.h>,那麼它很可能也會在Linux下運行。另一方面,如果您所要做的只是列出節頭,請嘗試objdump -x foo.exe

+0

Linux不識別IMAGE_SECTION_HEADERS和stuff.All這些駐留在winNt.h頭文件中。我應該如何在沒有它的情況下工作? – Worlock

+0

您需要重新實現您現在從winnt.h獲得的任何數據結構。 –

+0

這是否意味着自己寫整個頭文件? – Worlock