本文转载 https://www.jianshu.com/p/1e3fe0a8c048
class-dump 用来dump目标文件的class信息的工具。它利用Objective-C语言的runtime的特性,将存储在mach-O文件中的@interface和@protocol信息提取出来,并生成对应的.h文件。
安装步骤
1、下载地址:http://stevenygard.com/projects/class-dump/
2、打开终端输入
1 | open /usr/local/bin |
3、把dmg文件中的class-dump文件复制到/usr/local/bin
4、更改权限:终端输入
1 | sudo chmod 777 /usr/local/bin/class-dump |
到这里就安装好了。
这里为什么是777?
https://juejin.im/post/5c46dcad518825260d7ee605 这篇文章说得很清楚
显示class-dump的用法和版本
1 | class-dump --help |
使用方法
1、自己建项目生成一个ipa文件,更改文件为zip格式,然后解压之后得到.app的目标文件
2、用终端输入命令class-dump -H [.app文件的路径] -o [输出文件夹路径]
1 | class-dump -H /Users/mac/Desktop/Payload/Kt.app -o /Users/mac/Desktop/Payload |
就可以得到所有的.h文件了(在输出的文件夹里)
ps:
自己编译的项目没有加密,能够解析出来。class-dump不能直接将AppStore上的app的头文件导出来,你只会导出CDStructures.h这个头文件,而这里边基本是没有信息的。相当于Apple在app上加了一层壳(加密了),需要把这层壳砸破。(Dumpdecrypted破壳)