如何在 IDA Pro 中将地址设置为相对偏移指针?

逆向工程 艾达
2021-06-23 00:02:19

我在 IDA Pro 中有以下字节序列:

.text:0044A838          db 2Ah
.text:0044A839          db 0ADh ; ­
.text:0044A83A          db    4
.text:0044A83B          db    0
.text:0044A83C          dd rva word_44AD3E     
.text:0044A840          dd rva word_44AD4C
.text:0044A844          dd rva word_44AD5C

这个区域应该被解释为四个连续的相对指针,但现在,它是四个原始字节,然后是三个相对指针。如何指示 IDA 第一个元素是相对偏移量指针?

当我将第一个元素标记为 32 位整数时,它只是值 0x4AD2A,IDA 无法将其识别为我可以遵循的外部参照。我无法将此 32 位元素标记为偏移量(通过按O),因为地址 0x4AD2A 在此可执行文件中无效。

2个回答

将元素定义为适当的大小(例如通过d反复)。然后按Ctrl-R(或使用菜单项:Edit->Operand Type->Offset->Offset (User Defined)),选择Use image base as offset base,并接受对话框。

示例对话

按下UDDDO或者你可以逃脱UQO

注意:领先U是为了确保您从一致的状态开始,并不是绝对必要的。

主要含义:

U- 未定义
D- 数据 [字节]
D- 数据 [字]
D- 数据 [双字]
O- 偏移

或者

U- 未定义
Q- 十六进制(将免费转换为 D/QWORD)
O- 偏移

我(心)Vim