当我用
r2
打开它时,它会自动识别该体系结构并可以为我提供拆装:但是对于Ghidra,它不能自动找到体系结构,然后我必须手动指定语言:
即便如此,我还是得到了以下反汇编代码:
与开源的rarad2相比,在这种情况下,NSA的Ghidra表现不佳,我感到非常惊讶。有人可以描述发生了什么,如何解决?
#1 楼
当您只有原始字节而没有适当的头文件时,工具可能不知道如何处理,因为代码可能不是从偏移量0
开始的。他们可以尝试分析字节以检测是否存在代码,数据或其他东西,但是您可能还会得到一些假阳性。 ),并且由于默认情况下具有x86,因此无法识别任何体系结构。在不打开文件的情况下(r2
和pd - print disassembly
),您会得到相同的结果。在Ghidra中,您手动选择了体系结构,并“强制”该工具执行与radare2中的
r2 -
相同的操作,只需按D 。#2 楼
PawełŁukasik是正确的。使用Ghidra分解代码片段可以分3个步骤完成: />突出显示要反汇编的字节
按Paweł的说明按“ D”或右键单击并选择“反汇编”