1、安装

class-dump 顾名思义就是把Mach-O文件夹的class信息给dump出来(把信息给导出来),生成对应的.h头文件。可以通过class-dump官网下载工具包,将class-dump文件复制到Mac的/usr/local/bin目录下,这样在终端就能识别class-dump命令了。
image.png

2、使用

可以使用命令 $ class-dump -H Mach-O文件路径 -0 头文件存放目录 导出Mach-O文件的所有头文件,例如:
$ class-dump -H iOSDemo -o Headers
将Headers文件夹拖入Sublime Text就可以查看头文件信息了。
image.png

3、错误处理

3.1、混编

  1. Error: Cannot find offset for address 0x4800000001066a9d in stringAtAddress:

这是因为项目中使用了Swift和OC混编,可以下载 AloneMonkey的Class-dump 使用,用法与上述一致。

3.2、权限

  1. zsh: permission denied: class-dump

这是因为class-dump的权限不够,需要赋予“可执行的权限”:
$ chmod +x /usr/local/bin/class-dump

3.3、脱壳

如果导出的文件只有CDStructures.h,代表可执行文件已经加密,需要进行 脱壳 操作。
image.png