任何为 80C188 拆卸十六进制块的“简单”方法?

逆向工程 拆卸
2021-07-10 20:42:38

我已经使用 IDA 反汇编了一个大的 EPROM (27020),但仍有大量代码段没有被反汇编。这是一个典型的,我已经确定了开始和结束的地方(它可能是用 C 编写的):

            db  55h      push bp
            db  8Bh      mov bp, sp
            db 0ECh
            db 0A0h
            db  96h
            db  11h
            db 0FEh
            db 0C0h
            db 0A2h
            db  96h
            db  11h
            db  3Ch
            db    3
            db  75h
            db    5
            db 0C6h
            db    6
            db  96h
            db  11h
            db    0
            db  8Ah
            db  1Eh
            db  96h
            db  11h
            db 0B7h
            db    0
            db  8Ah
            db  87h
            db  2Fh
            db  13h
            db  5Dh     pop bp
            db 0C3h     retn

我的问题是,是否有任何简单的反汇编器我可以将它(或纯十六进制版本)放入其中为我反汇编?是的,我可以手动完成,但有数百个这样的,所以这真的不切实际,此外,这只是找出这段代码的第一步。我试图搜索,但几天后我觉得是时候问问那些比我知识渊博的人了。

2个回答

您可以打开IDA,转到文件的开头shift,按住 ,滚动到文件的末尾 - 这将导致选择整个代码,然后按 'c' 进行分析。

由于您提到了十六进制文件,您可能遇到的另一个问题是 16 位和 32 位代码之间的差异。Hex 文件加载器可能默认为 32 位,而此代码似乎是 16 位。加载后编辑段属性以将其标记为 16 位应该会给您更好的结果。