如何确定callq在这里调用什么函数?

时间:2019-01-28 04:47:39

标签: macos assembly x86-64

为了满足我的好奇心,我一直在各种MacOS / X可执行文件上运行Obs id city country city_grp country_grp 1 1639 5 42260 low - 6 1001 - high 2 1065 10 38090 7 - 16 1001 - high 3 1400 15 29769 7 - 16 1001 - high ,然后在otool -tV ./MyApp.app/Contents/MacOS/MyApp > out.txt中查看生成的汇编代码清单,以查看其中的内容。

在很多地方,我看到这样的东西:

out.txt

...加上有益的评论,这是很有意义的;我可以说这行的目的是调用0000000100bae6fb callq 0x100bb2dc8 ## symbol stub for: _memcpy 函数,该函数位于进程的内存空间中的地址memcpy()上。

但是,在其他位置,有0x100bb2dc8的实例没有任何有用的注释,例如:

callq

...,在这些情况下,我不知道如何知道正在调用什么函数。有什么办法可以解决吗?

(我尝试在000000010056247c callq 0x11056246d 的输出中查找引用的地址,但是AFAICT在那里不存在;每行开头的地址值范围从otool到{{1 }},并且该范围不包含地址00000001000061c0

0 个答案:

没有答案
相关问题