无法弄清楚如何在 IDA 中映射段

逆向工程 艾达 拆卸
2021-06-22 05:36:50

我有一个 2 MB 的可执行文件,我正在尝试对其进行逆向工程。它在 16 位 8086 CPU 上执行。

段从 4000 (0x140000) 到 F000 (0x1F0000)。

我正在尝试映射 Program Segmentation 窗口中的段,但是这样做时,在将入口点转换为代码时无法解析调用/跳转操作的地址。

以最后一段为例,我设置起始地址为0x1F0000,结束地址为0x200000。我将基数设置为 0xF000,因为这是机器代码中的引用方式。

我对其他段做同样的处理,包括问题段 (0xD000 -> 0x1D0000)。

转换为代码时,结果行解析如下:

jmp far ptr 0D000h:1Ah

这正如预期的那样,跳转到段 0xD000,偏移量为 0x1A,但是 IDA 对此并不满意,用 NONAME 和 BOUNDS 错误抱怨它。

我不知道如何在 IDA 中正确地映射它。有人可以指出我正确的方向吗?

[编辑]

作为参考,我已经有了要映射的段的完整列表及其二进制地址:

2000:0x1F0000

3000:0x1F0000

4000:0x140000

5000:0x150000

6000:0x160000

7000:0x170000

8000:0x180000

9000:0x190000

A000:0x1A0000

B000:0x1B0000

C000:0x1C0000

D000:0x1D0000

E000:0x1E0000

F000:0x1F0000

0个回答
没有发现任何回复~