3

目前,我正在 IDA Pro 中反汇编 Mach-O 可执行文件。我已经浏览并找到了我感兴趣的字符串,但是当我尝试找到它的外部参照时,找不到任何东西。我确定在原始代码中引用了这些字符串,但 IDA Pro 似乎无法找出它们是如何被引用的。

是否有任何技巧可以让 IDA Pro 查看外部参照?

4

3 回答 3

3

您是否给了它足够的时间来分析整个程序?如果有引用,它可能需要一段时间才能在大型程序中找到它。

它也有可能被 IDA 找不到流向的指令所引用。这可能发生在 IDA 无法猜测表大小的跳转表中。在 IDA 中使用的原因I是您查看需要判断和正确解释的指令并将它们设置为适当的类型,以便 IDA 可以完成大部分工作。

于 2009-12-19T08:06:36.023 回答
3

字符串可能属于字符串数组,并且字符串的第一个元素被 IDA Pro 引用。

例子:

str_table dd offset str1 ; ^xrefs: display_message(int idx)
dd offset str2
dd offset 0x1234 (if you press ctrl+o it may resolve to mystr)

mystr db "Hello world"

所以,试着在你的字符串附近找到对字符串的引用,看看它们是否属于一个表,创建一个数组,等等......

于 2010-08-12T11:10:48.993 回答
2

idc 脚本功能add_dref()将是您正在寻找的功能。

于 2012-06-04T15:38:47.080 回答