C/C++ 命令行PE結構遍歷工具 [首發]


在前面的筆記中,我總結了Pe結構的一些結構含義,並手動編寫了幾段PE結構遍歷代碼,這里我直接把之前的C語言代碼進行了封裝,形成了一個命令行版的PE文件查看工具,該工具只有20kb,但卻可以遍歷出大部分PE結構數據,非常實用,分享出來是因為后續教程需要用到解析,請熟練使用其所支持的命令行參數,命令行輸入PETools.exe 即可使用。

PE工具下載地址: https://share.weiyun.com/QU3iF4ql


基本參數介紹: 輸入GetPE直接彈出幫助菜單。

檢查模塊開啟的保護: main.exe c://qc.exe --CheckModule

驗證模塊完整性: 傳入一個正在運行進程PID即可,檢驗模塊是否存在可利用的環節。

驗證特定模塊地址: 例如驗證User32.dll中MessageBoxA的地址,可執行:

十六進制加減法計算: 可快速實現十六進制加減法,不用在使用計算器了,方便快捷。

遍歷DOS頭: GetPE c://lyshark.exe --ShowDosHead

遍歷NT頭數據: C:\pe>pe.exe ./x86.exe --ShowNtHead

遍歷Section節表: C:\pe>pe.exe ./x86.exe --ShowSection

遍歷程序中的導入函數: C:\pe>pe.exe ./x86.exe --ShowImportByDll

查詢指定DLL中的導入函數: C:\pe>pe.exe ./x86.exe --ShowImportByName USER32.dll

查詢全部導入表,導入函數: C:\pe>pe.exe ./ddd.dll --ShowImportAll

查詢Export導出表: C:\pe>pe.exe ./ddd.dll --ShowExport

查詢重定位表: C:\pe>pe.exe ./ddd.dll --ShowFixReloc

顯示所有導入DLL GetPE c://lyshark.exe --ShowImportByDll

顯示指定DLL中的導入函數: GetPE c://lyshark.exe --ShowImportByName USER32.dll

顯示所有導入函數: GetPE c://lyshark.exe --ShowImportAll

檢索指定API是否被引用: GetPE c://lyshark.exe --ShowImportByFunc GetModuleFileNameW

檢索數據目錄表: GetPE c://lyshark.exe --ShowDataDirectory

完整檢索數據目錄表:

檢索文件導出表: GetPE c://lyshark.dll --ShowExport

檢索重定位塊: GetPE c://lyshark.dll --ShowFixRelocPage

檢索指定重定位塊中重定位信息: GetPE c://lyshark.dll --ShowFixRelocRva 00001000

檢索全部重定位表: GetPE c://lyshark.dll --ShowFixReloc

嘗試修正重定位表: GetPE c://lyshark.dll --RepairFixReloc dump.dll

嘗試識別目標指紋: 通過內置特征,嘗試識別目標指紋。

寫這個東西就是要查手冊,根據微軟的定義,對其進行解析,不難,就是挺麻煩的,為了后續課程需要,我不得不把這個工具完善起來,稍安勿躁,精彩內容下次安排。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM