目前,我在拆卸国际开发协会专业一的Mach-O可执行文件。我已经经历了,发现我感兴趣的字符串,但是当我试图找到外部参照它,没有人能找到。我敢肯定的是,字符串在原代码中引用,但IDA Pro是似乎并没有能够找出它们是如何被引用。

是否有可以执行获得IDA Pro来看看外部参照什么花样?

有帮助吗?

解决方案

您给它足够的时间,它已经分析了整个程序?如果有一个参考,它发现它在一个大的程序之前,它可能需要一些时间。

这也是可能的,它由其中IDA无法找到一个流动路径的指令引用的。这可以通过跳转表,其中IDA无法猜测表的大小发生。之所以在IDA的I是,你看这就需要判断和正确的解释,并将其设置为相应的类型,以便IDA可以完成大部分的工作的指示。

其他提示

有可能的是,字符串属于一个字符串数组和所述串的所述第一元素是由IDA参考临

示例:

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"

所以,尽量附近的字符串找到参考字符串,看看他们是否属于一个表,创建一个数组,等等...

IDC脚本函数add_dref()将是你正在寻找的人。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top