在非 SP 寄存器寻址时创建堆栈变量

逆向工程 艾达
2021-07-09 02:52:00

所以,我有 ARM 代码,它使用 R7 作为寄存器来访问堆栈变量: 在此处输入图片说明

在第一个基本块中,IDA 成功地将 R7 识别为堆栈指针并创建了变量。但是,在 40123C 之后,仍然存在通过 R7 引用堆栈变量的代码,而 IDA 没有创建这些变量。如果我在 [R7,#4] 上按 K,它会在 +4 偏移处创建堆栈变量:

在此处输入图片说明

事实上,它应该在 -0x14 处创建变量。

有什么办法可以让 IDA 在那些 LDR R3, [R7,#4] 上正确创建堆栈变量?

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