如何查看两个DLL之间的差异?
有没有办法查看两个二进制DLL文件之间的差异?我两个都有PDB 理想情况下,我希望看到:如何查看两个DLL之间的差异?,dll,diff,visual-c++,disassembly,Dll,Diff,Visual C++,Disassembly,有没有办法查看两个二进制DLL文件之间的差异?我两个都有PDB 理想情况下,我希望看到: 增加了哪些功能 删除了哪些功能 修改了哪些功能(与拆卸不同) 添加/删除/修改了哪些其他条目(静态变量、资源等) 注意:这与我处理本机DLL时的情况不同。如果要比较可执行文件,有两种选择: 宾迪夫:这是商业反汇编程序IDA Pro的商业扩展。这是一个事实上的逆向工程工具。根据供应商说明,它允许您: 在不同的二进制文件中识别相同和相似的函数 从一个反汇编到另一个反汇编的端口函数名称、前后注释行、标准
- 增加了哪些功能
- 删除了哪些功能
- 修改了哪些功能(与拆卸不同)
- 添加/删除/修改了哪些其他条目(静态变量、资源等)
注意:这与我处理本机DLL时的情况不同。如果要比较可执行文件,有两种选择:
- 宾迪夫:这是商业反汇编程序IDA Pro的商业扩展。这是一个事实上的逆向工程工具。根据供应商说明,它允许您:
- 在不同的二进制文件中识别相同和相似的函数
- 从一个反汇编到另一个反汇编的端口函数名称、前后注释行、标准注释和本地名称
- 检测并突出显示同一功能的两个变体之间的更改
- 你还有一个免费的选择:PatchDiff。作为Bindiff,它也是IDA Pro的一个插件。据开发人员介绍,Patchdiff可以执行以下任务:
- 显示相同功能的列表
- 显示匹配函数的列表
- 显示不匹配功能的列表(使用CRC)
- 显示相同和匹配功能的流程图
一种“低技术”方法(无反汇编)是在DLL上使用
DUMPBIN/ALL
(或另一个开关,具体取决于您想知道的内容),并对结果进行文本比较。IDA Pro+PatchDiff看起来很完美。