如何在 IDA Pro 中找到“对这个地址附近地址的引用”?

逆向工程 艾达
2021-06-24 10:16:25

我正在尝试在 IDA Pro 中反编译二进制文件。目前我正在查看一个指向字符串的指针列表,它们代表游戏数据(“左转”、“右转”等)。令人沮丧的是,似乎没有引用存储这些数据的地址,尽管我知道它们在游戏中使用。

所以我猜测该程序正在使用一些代码来引用带有指针算法的“左转”,例如print(BASE_STRING_PTR + offset).

但是这很难检测到;我是 IDA 的新手,一直在玩按钮,但除了为我想要的地址上方的每个地址尝试“查找引用”之外,还没有找到任何东西。我希望更有经验的逆向工程师能给一些建议?

如果有另一种工具对此有好处,那就太棒了,尽管我使用的是 Mac,这在某种程度上限制了我。

1个回答

在这种情况下,最好的方法是使用调试器(IDA Pro 的调试器或您选择的其他调试器)。

在调试器中运行程序并在其中一个字符串的第一个字节上设置硬件读取断点。然后以某种方式与程序交互,使程序访问给定的字符串(例如,使字符串显示在屏幕上的某些东西)。硬件断点应触发,允许您查看调试器中的调用堆栈以查看程序中的哪些代码导致访问给定字符串。