我已经将一个二进制文件加载到IDA中,该文件适用于Motorola 6800系列。


像这样引用字符串:pea (17A99).l
以上命令中引用的字符串的实际地址是0x017A99。这个:

lea     (0CA4C).l,a3
jsr     (a3)


或类似这样的:功能是0x0CA4C

IDA pro未检测到任何一个,也未向外部参照或其他参考列表添加任何内容。如何修改IDA的字符串引用和函数调用检测过程,以便可以对其进行检测?

注意事项。

#1 楼

我可能是错的,但听起来像是您在错误的图像库中加载了二进制文件。听起来您是在默认的基址0x0上加载了它,而基址实际上应该是0x2000000。从头开始再次将文件加载到IDA中,然后尝试在初始“加载新文件”对话框的“加载偏移量”框中添加0x2000000。 ,例如第二个地址:

jsr     0CA4C


您声称真实地址是0x0CA4C,与显示的内容相差0x2000000。您的第一个示例也相差0x2000000。因此,我猜想这些指令中都有硬编码的地址,它们都在0x2000000以上。这告诉我二进制文件可能期望在该地址加载,这就是为什么我建议您尝试在该地址加载二进制文件并查看会发生什么的原因。

评论


嗨,谢谢您的答复,我已经编辑了第一个问题,因此其中包含了我对您建议的答案。

– Gholi GholiZade
18 Mar 20 '18在16:59

您的问题现在完全不同了。按照书面规定,即使最初的答复大部分可以解决您的原始问题,我的原始答复也不再适合您当前的要求。您应该问一个新问题,而不是彻底编辑现有问题。

–滚轴
18年3月20日在17:22

再次嗨,我撤消了第一个问题的更改,并将创建一个新问题。谢谢你的帮助。

– Gholi GholiZade
18年3月20日在19:23