2009-08-13 109 views
1

有沒有辦法查看兩個二進制DLL文件之間的區別?我有兩個PDB。我如何查看兩個DLL之間的差異?

理想我想看看:

  • 有哪些新增功能
  • 什麼樣的功能已被刪除
  • 已被修改什麼樣的功能(與拆卸的差異)
  • 還有哪些其他條目(靜態變量,資源等)已被添加/刪除/修改

注意:這與this question不同,因爲我正在處理本地DLL。

回答

3

如果你想比較可執行文件,你有幾個選擇:

  • Bindiff:它是商業反彙編IDA Pro的商業推廣。這是反向工程的事實上的工具。據廠商介紹,它可以讓你:
    • 找出相同和相似的功能在不同的二進制文件
    • 端口功能的名稱,其前後的註釋行,標準的意見和本地名稱從一個拆卸到其他
    • 檢測相同的功能

http://www.zynamics.com/bindiff.html

的兩個變體之間&高亮變化
  • 您還有一個免費的替代方案:PatchDiff。作爲Bindiff,它也是IDA Pro的插件。根據顯影劑,Patchdiff可以執行以下任務:
    • 顯示的相同功能的列表
    • 顯示的匹配函數的列表
    • 顯示器無可比擬的功能的列表(與CRC)
    • 顯示一個流圖對相同的,並且匹配函數

http://cgi.tenablesecurity.com/tenable/patchdiff.php

+0

IDA Pro + PatchDiff看起來很完美。 – pauldoo 2009-08-13 20:10:05

0

「低技術」的方法(無需反彙編)將使用DUMPBIN /ALL(或其他開關,具體取決於您想知道的內容)並對結果進行文本比較。