从内存中的mach_header中查找Mach-o的符号地址

时间:2014-05-25 18:57:47

标签: c mach-o xnu

我在内存中加载了一个mach-o文件(通过mmap),并且需要获取与符号相对应的二进制文件中的地址,比如mySym。我找到了一个名为NSLookupSymbolInImage的函数,并认为我可以使用它,然后使用NSAddressOfSymbol来获取实际地址,但是存在一些问题:

  • 不推荐使用这些功能
  • 在查看NSLookupSymbolInImage的来源时,似乎传入的mach_header必须已由dyld加载。由于我自己加载了二进制文件,因此这种方法可能无法正常工作。

现在,我知道如果必须,我可以自己解析mach_header并找到符号,但我想有更好的方法可以做到这一点。

基本上,我想知道是否有一种更简单的方法可以从没有被dyld加载的mach-o文件中获取符号的地址,而不是手动执行。

0 个答案:

没有答案