Proview (a.k.a PVDasm) Disassembler, 唯冠 (又名 PVDasm) 反匯編器,PVDasm 是自由、 互動、 適用于多種 CPU (英特爾 80 x 86 / Chip8),包括許多功能,允許用戶在目標映像文件上執(zhí)行分析。PVDasm 目前支持的映像文件有可執(zhí)行文件 (.exe)和動態(tài)可執(zhí)行映像文件(.dll) Game-Boy映像文件(.gb/.gbc)。唯冠反匯編器從編制到現(xiàn)在已超過 6 年,從未停止升級工作 (可能會延遲)。PVDasm 總是追求不圖任何回報成為免費的反匯編器,這使得反匯編愛好者多出一個自由選擇...
Pvdasm是一款輕量級開源的反匯編引擎,下載開源代碼可以直接使用自己開發(fā)反匯編工具,反匯編效果很好!
實例:
要想測試flb文件,你還得拿到函數(shù)數(shù)據(jù),我使用的是PVDasm,下面說一下我的方法:
1. 解析PE文件,獲得代碼段
2. 使用反匯編引擎,PVDasm,監(jiān)控Call指令(只做0xe8),獲得函數(shù)數(shù)據(jù)
3. 加載相應(yīng)的flb文件,檢測每個獲得函數(shù)數(shù)據(jù),是否屬于此flb文件中的函數(shù)
我已經(jīng)把各個版本的C語言靜態(tài)庫都搞成相應(yīng)的flb文件了,我寫了幾個test,(附件里都有)并和ida做過比較,占時還沒發(fā)現(xiàn)問題,但那個函數(shù)數(shù)據(jù)size的問題,就像鍋里的一坨S,請大家?guī)蛶兔Γ?br/>
最后再提一下我的問題,希望有前輩指點一下!
函數(shù)數(shù)據(jù)的size確定問題,我現(xiàn)在的方法是:直接斷定一個節(jié)中只有一個函數(shù)數(shù)據(jù)!
《PE COFF文件規(guī)范》里提到一種:
“5.5.1 輔助符號表記錄格式之一:函數(shù)定義”;里面可以拿到size;
但悲劇的是每個函數(shù)符號后面一張輔助符號表都沒有,所以這種方法流產(chǎn)了
我到現(xiàn)在也找不到好方法,望有牛人提點!