初识iOS逆向之class-dump

由于这几天投简历准备换工作,有家公司问到“之前是否用过私有API?”当时第一反应就是“这不会被拒么?”也可能是自己想的简单了些,开发人员人才济济,怎么会不采取一些措施呢?所以就在网上看了一下关于私有API的东西,看到说是要用到class-dump来导出啥啥的...也不懂就直接去搜索class-dump这玩意。
class-dump:它利用OC语言的runtime特性,将头文件信息提取出来,生成对应的.h文件。
一、class-dump环境配置
(1).下载地址:
http://stevenygard.com/projects/class-dump/
(2).安装:
1.下载完成后点击.dmg文件将里面的class-dump复制到/usr/bin文件里,
我这边是先把class-dump复制到桌面后在终端运行

sudo cp /Users/apple/desktop/class-dump '/usr/bin'

输入解锁密码就可以了

!!!如果在此步骤中出现“操作不允许”!!!
你就要先关闭Rootless这玩意,如何关闭呢?
重启你的电脑,开机过程中按住command+r进入恢复模式,在恢复模式中打开终端,执行命令csrutil disable,这样你就关闭了 rootless,同样你如果想要重新打开的话只需要执行命令csrutil enable,再次重启你的电脑,重新执行sudo cp /Users/apple/desktop/class-dump '/usr/bin'命令

2.在终端输入:

class-dump  查看是否安装成功

3.出现class-dump 3.5 (64 bit).....一大串后就是安装成功了


初识iOS逆向之class-dump_第1张图片
image.png

4.赋予权限:

sudo chmod 777 /usr/bin/class-dump

二、class-dump使用(要放大招啦!!!)
(1).试验一下class-dump
1.把自己的项目打包成.ipa并导出,(这里就不说了)
2.将导出的.ipa文件后缀改为“.zip”,解压得到APP的可执行文件(应该是在Payload文件夹下)


初识iOS逆向之class-dump_第2张图片
image.png

3.在终端中进入可执行文件 cd ...路径.../...就可以解析它了
4.解析可执行文件,并将解析后的文件保存到文件夹中:
class-dump -S -s -H 可执行文件名 -o /Users/apple/desktop/解析后保存的文件夹


初识iOS逆向之class-dump_第3张图片
image.png

5.点开可以跟之前的文件对比一下(其实并没有啥大的差别)


初识iOS逆向之class-dump_第4张图片
image.png

初识iOS逆向之class-dump_第5张图片
image.png

注意:!!!我们使用的可执行文件是我们自己用自己的工程生成的,但是从appstore下载下来的app是通过加密的,class-dump并不能直接处理这样的文件!!!
不能直接处理的意思不就是可以间接处理吗?那如何间接处理呢?
所以就出现了一个新的名词---砸壳---在这里就不阐述了(我也是第一次听说)有兴趣的可以去百度一下....

(PS:虽说本人有两年的iOS开发经验,但由于平时工作有点忙,当然自己可能也有点懒惰,一直都没有记录过什么东西,主要是为了日后方便自己查阅所以并不是什么原创啥的并且参考了好几个大大的博客,如果被大大看到在这里先道个歉,写的不好,语句不通的地方请各位大哥大姐弟弟妹妹叔叔阿姨见谅!毕竟本人写作水平很一般。。。)

你可能感兴趣的:(初识iOS逆向之class-dump)