小编Knu*_*rst的帖子

如何使用 Cutter 或 Radare2 比较两个 EXE 文件、查找差异并反编译它们?

经过几天的努力,我想向社区询问:)

我有两个exe文件。两者大小相同且相当大(约 80MB)。

  • 第一个exe是原始文件,是前段时间编译好的。我也有相应的PDB文件。
  • 第二个文件与第一个文件几乎相同,但已在多个位置进行了二进制修补。

我设法使用 Cutter (Radare2 GUI) 反编译这些文件,但考虑到文件大小,几乎不可能遍历每一种方法。

使用十六进制编辑器(Hex Fiend),我设法获得应用补丁的每个偏移位置。现在我试图用 Cutter 找到这些偏移量来反编译这些位置。

问题是:如何?当我在 Cutter 中打开 Hexdump 时,似乎一切都未就位,我可能需要偏移。在 Cutter 的加载屏幕上设置偏移量似乎没有做任何事情。难道是我用错了?

例子:

妖魔

Offset                Hex Data                                         Text
474942-474956         47 65 74 4D 6F 64 75 6C 65 48 61 6E 64 6C 65 41  GetModuleHandleA
Run Code Online (Sandbox Code Playgroud)

刀具

Offset                Hex Data                                         Text
0x0060713E-0x0060714D 47 65 74 4D 6F 64 75 6C 65 48 61 6E 64 6C 65 41  GetModuleHandleA
Run Code Online (Sandbox Code Playgroud)

474942是0x73F3E,但是距离0x0060713E很远

也许我需要其他工具?任何帮助表示赞赏!

hexdump disassembly decompiler radare2 ghidra

5
推荐指数
0
解决办法
3258
查看次数

标签 统计

decompiler ×1

disassembly ×1

ghidra ×1

hexdump ×1

radare2 ×1