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.