如何在 IDA pro 中修改字符串和函数引用检测?

逆向工程 艾达 蟒蛇
2021-06-17 00:03:20

我已将一个二进制文件加载到 IDA 中,该文件用于摩托罗拉 6800 系列。

  • 字符串是这样引用的:pea ($2017A99).l上述命令中引用字符串的实际地址是0x017A99.

  • 函数是这样调用的:

    lea     ($200CA4C).l,a3
    jsr     (a3)
    

    或者像这样:

    jsr     $200CA4C
    

    在这两种情况下,函数的实际地址都是0x0CA4C

    IDA pro 没有检测到任何这些,也没有向外部参照或其他参考列表添加任何内容。

现在我的问题是如何修改 IDA 的字符串引用和函数调用检测过程,以便检测到它们?

问候。

1个回答

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

至于我为什么这么认为:基于你的例子,例如第二个:

jsr     $200CA4C

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