一、class-dump
首先谢谢博客主 (http://www.cnblogs.com/hepeilin/p/3847713.html) 的博客讲解的很详细
作用:用于在Objective-C的运行时特性中,检查存储在Mach-O文件中的信息,把未经加密的app的头文件导出来生成对应的 .h 文件。
-
安装class-dump 下载地址
• (1)点击下载解压后会有class-dump和源码文件如下图所示把class-dump复制到/usr/local/bin
目录下(前往快捷键command+shift+g)
sudo chmod 777 /usr/local/bin/class-dump
命令赋予其执行权限。(如果有密码输入密码)
• (3)打开终端输入class-dump
回车,安装成功如下图
是不是很简单呢[偷笑] -
安装成功之后来做一个小测试
• (1)新建一个测试工程,新建一个类TestClassDumpViewController
• (4)打开终端输入class-dump -H /Users/sdny/Desktop/CTest.app -o /Users/sdny/Desktop/TestHeads
(注意:class-dump -H 后面输入的/Users/sdny/Desktop/CTest.app
是你要检索的app的路径,这里写上你要检索的app的路径就可以。而 -o 后面的/Users/sdny/Desktop/TestHeads
路径就是存放dump出来的文件夹路径,本人放在桌面上了,这里写上你要放置的路径就可以)写好之后敲回车如下图所示桌面多出来一个TestHeads文件夹(图左),打开文件夹可以看到我们dump出来的头文件了。
• class-dump虽然很有用,但是并不会将所有的声明方法导出来,比如只声明,未实现的方法。
class-dump不能直接将AppStore上下载的app的头文件导出来,你只会导出CDStructures.h这个头文件,而这里边基本是没有信息的。因为从 App Store 下载的 App 都是经过签名加密的,相当于Apple在app可执行文件上加了一层壳,必须通过砸壳才可以。