macOS 与 ldd
May 17, 2017
于是之前有吐槽过 macOS 没有 ldconfig 没有 ldd 怎么调试呢?
又不是不能用。
自然是有替代品的,替代品叫 otool [1] 。
otool 必须要安装 CommandLineTools 或者直接装 Xcode。
想列出依赖的库, 直接 otool -L <file> 就可以了。

otool -l <file> 则是可以列出 Mach 的加载命令。
ldconfig 的话直接用 sudo update_dyld_shared_cache 就好了。
顺便推荐几个有趣的工具,分别是 otx 还有 class-dump。
otx 相当于一个简易的反编译器,高级版的也有,叫 Hopper Disassembler ,不过太贵了,小的程序用用 otx 已经够了。
class-dump 则是可以列出头文件,对于逆向工程很有用。
- 1.其实
/usr/bin/otool只是一个 wrapper , 真正的在/Library/Developer/CommandLineTools/usr/bin/otool和/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool。 而这种的程序都依赖xcselect,可以可以看下xcrun和xcode-select。 ↩
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
