BinDiff(IDA Pro、Binary Ninja、Ghidra)用于二进制文件版本比对和差异性分析
BinDiff 是一款由德国公司 Zynamics开发的二进制文件比较工具,主要用于逆向工程、恶意软件分析和漏洞研究等领域。可以结合IDA Pro、Binary Ninja、Ghidra工具帮助用户识别两个不同版本的二进制文件之间的相似性和差异性,2011年被google收购后转为免费工具,2023年在github开源。
github官网:https://github.com/google/bindiff
releases:https://github.com/google/bindiff/releases
bindiff7对于ida pro的最低版本要求为7.4,bindiff7对于ida pro的最低版本要求为8.0,可以根据自己的需求进行下载。
一、Bin Diff
点击bindiff.jar
new workspace–>new diff,创建工程和需要进行比对的文件。
IDA Pro为7.7,有需求的可前往吾爱破解以及看雪等平台进行下载。
将下载好的bindiff放到IDA Pro的bin目录中。
上方的栏目中会出现,BinDiff选项。当然可以直接通过快捷键ctrl+6。
点击Diff Database…,前提是待比较的二进制文件,通过IDA Pro分析并保存为.i64、.idb文件。
二、Bin Diff(ghidra)
在ghidra中用Bin Diff,则需要配合BinExport使用,在BinExport Release页面下载 BinExport_Ghidra-Java.zip 或 ghidra_BinExport.zip
并根据BinExport的README.md安装。
binexport官网:https://github.com/google/binexport
ghidra官网:https://github.com/google/
测试环境为:ghidra11.0.3、java 17.0.11。
使用ghidra对二进制文件分析后,导出为".BinExport"文件。
再使用BinDiff加载2个".BinExport"文件即可进行比较。
根据需求进行下一步分析。