目前,我正在IDA Pro中拆解Mach-O可执行文件。我已经找到了我感兴趣的字符串,但是当我尝试找到它的外部参照时,没有找到它。我确信原始代码中引用了字符串,但IDA Pro似乎无法找出它们的引用方式。
是否有任何技巧可以让IDA Pro看到外部参照?
答案 0 :(得分:3)
你有足够的时间分析整个程序吗?如果有引用,可能需要一段时间才能在大型程序中找到它。
它也可能被IDA无法找到流路径的指令引用。这可能发生在跳转表中,IDA无法猜测表的大小。 IDA I
的原因在于您查看需要判断和正确解释的说明并将其设置为适当的类型,以便IDA可以完成大部分工作。
答案 1 :(得分: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"
所以,试着找到你的字符串附近的字符串引用,看看它们是否属于一个表,创建一个数组等......
答案 2 :(得分:1)
idc脚本函数add_dref()
将是您正在寻找的。 p>