Class-dump安装和简单使用

Class-dump 是一款用来检测存储在 Mach-O 文件里的 Objective-C runtime 信息的命令行工具。他可以检测出 classcategoryprotocol 的声明。Class-dump 产生的是 Objective-C 语法格式的声明,所以它的可读性更高。

虽然只能检测出声明文件, 也就是.h文件, 但是足够我们学习了

下载: class-dump-3.5.dmg

下载完成后把class-dump-3.5.dmg 内的 class-dump 拷贝到/usr/local/bin/路径下,并且赋予执行权限。

sudo cp class-dump /usr/local/bin

sudo chmod  777  /usr/local/bin/class-dump

App Store 下载的 App 都是经过加密的,有一层壳,我们得先砸壳,砸壳需要手机越狱这里就不讲了.

自己写个小程序测试一下就可以了
这里写图片描述改后缀名为zip然后打开该文件, 你会发现有个带这里写图片描述的文件一般都是放在Payload文件夹下的, 从appstore上下载下来的ipa是需要另外处理的.

我们找到这里写图片描述例子用的文件, 就是我们需要的了.

然后使用命令行
class-dump -H TestSketchpad.app -o test
Class-dump安装和简单使用_第1张图片
就可以在该目录下得到一个test的文件夹
里面就是使用class-dump解出来的引用文件了Class-dump安装和简单使用_第2张图片

接下做一个对比, 这也是为什么事例使用自己写的程序的目的
Class-dump安装和简单使用_第3张图片是不是感觉到很神奇, 别急, 更神奇的还有
(左边是原项目, 右边是检测出来的)

Class-dump安装和简单使用_第4张图片
怎么样, 是不是确实如前面提到的, 他能检测出私有的api, 这主要利用OC中的运行时, 检测对象间发送的消息.

因此, 我们如果对某一个app的实现感兴趣的话, 不仿用class-dump一试

另外:
关于class-dump 命令的参数可以在终端中运行 class-dump –help查看

还有一些其他的使用
如:
1, class-dump AppKit:
class-dump /System/Library/Frameworks/AppKit.framework
2. class-dump AppKit:
class-dump /System/Library/Frameworks/AppKit.framework

PS: 关于怎么解密AppStore上下载的ipa, 以后再补充

你可能感兴趣的:(Class-dump安装和简单使用)