我听说过像 IDA 这样的反汇编器和像 OllyDbg 这样的调试器,但老实说,当你给它们一个二进制文件时,它给了我汇编代码。我知道如果您提供二进制文件,反编译器会提供源代码。但是,我不知道它们在操作模式方面有何不同,我问自己诸如“为什么可以反编译 android/python 代码而只能反汇编 C 代码?”这样的问题。
谁能给出这 3 种工具之间的精确区别?
我听说过像 IDA 这样的反汇编器和像 OllyDbg 这样的调试器,但老实说,当你给它们一个二进制文件时,它给了我汇编代码。我知道如果您提供二进制文件,反编译器会提供源代码。但是,我不知道它们在操作模式方面有何不同,我问自己诸如“为什么可以反编译 android/python 代码而只能反汇编 C 代码?”这样的问题。
谁能给出这 3 种工具之间的精确区别?
我想添加以下定义以避免任何疑问:
反编译器在一个非常重要的方面不同于反汇编器。虽然两者都生成人类可读的文本,但反编译器生成更高级的文本,更简洁,更易于阅读。
结论是,与反汇编器相比,反编译器缓解了这两个问题:它们的输出更短且重复性更低。