我在内存中加载了一个 mach-o 文件(通过mmap
),需要获取与符号对应的二进制文件中的地址,比如mySym
. 我找到了一个名为的函数NSLookupSymbolInImage
,并认为我可以使用它,然后使用它NSAddressOfSymbol
来获取实际地址,但存在一些问题:
- 这些功能已弃用
- 在查看 的来源时
NSLookupSymbolInImage
,似乎mach_header
传入的必须已经由 dyld 加载。由于我自己加载了二进制文件,因此这种方法可能行不通。
现在,我知道如果必须,我可以解析mach_header
自己并以这种方式找到符号,但我想认为有更好的方法来做到这一点。
基本上,我想知道是否有比手动操作更简单的方法来从 dyld 未加载的 mach-o 文件中获取符号的地址。