iOS class-dump头文件 - 1天半的探索

用了16个小时把一个目标App的头文件导了出了,这里把过去16个小时的经历记录下。

问:class-dump一个App的头文件需要哪个几个步骤呢?

答案:3个。找个手机来越狱、把目标App砸壳、class-dump目标App。

第一步,越狱

这是我遇到最大的坎。手里有台iPhone 5s(iOS11.3.1)的手机,大半年前因为使用Reveal,已经越狱过了。本来以为就不用在越狱上下功夫了,结果发现Cydia打开就闪退,PP助手App也是打开就闪退。再一看手里其他手机全都是iOS12的系统,还没有越狱版本。只能硬着头皮搞这个iPhone 5s了。

一开始用PP助手PC端怎么都无法安装,提示我已经越狱了,但是需要安装个Apple File Conduit “2”补丁。再一查,这个补丁需要需要在Cydia上才能安装。这不就是个死循环了吗!这个补丁不装是没有办法在PP助手上看到系统目录的。

所以想着能不能退回原点,先把系统恢复成非越狱的,然后再用工具越了一次。下载iOS11.3的包、错误3194、SHSH、DFU模式安装...一番折腾还是没有用。(此间抖了个激灵上淘宝搜了下,有没有提供越狱、恢复之类服务的,还真有。以后去试下,这样一来岂不是可以升级、降级随便我玩了?)

然后我试了下爱思助手,用它的越狱工具居然提示成功了,盘古App安装上了。按照提示操作了一番。然后迫不及待的打开了Cydia,居然可以打开了。然后去安装Apple File Conduit “2”补丁,总是报DPKG_LOCKED错误。晚上搜了,对应硬腭dpkg目录,去看了下居然是个空目录,按照网上提示,下载了个现成的。可是怎么装进去呢?于是我又看到了一个工具iFunbox,果真好用,不但可以看到系统目录,还可以通过USB打通ssh通道。赶紧把复制进去,DPKG_LOCKED问题没有了,可是又报了个trying to overwrite的问题。

太让人沮丧,又到了下班时候,只能回家再看看。回家后试了安装各种插件,都是同样问题,这一搞就是到了凌晨2点。

第二天早晨起来,觉得就揪着trying to overwrite这个问题看看原因。然后就发现了问题。原来要写的这个目录压根就不存在,那咱就自己建一个吧!嘿嘿 居然瞎猫碰到死耗子了,Cydia可以按照。

1天半时间,12个小时,其中有10个小时全部耗在越狱上了;之后的过程还是如同开了挂一样的顺利。

第二步,dumpdecrypted砸壳

具体可以参考这文章

https://www.jianshu.com/p/aa2fc2bef9cd

遇到kill: 9提示,里面包含两个坑:

1,dumpdecrypted.dylib 必须要签名后才能使用。

2,dumpdecrypted.dylib 必须以mobile用户身份运行。

具体看着这两篇文章

https://www.jianshu.com/p/4dc6c3c2b202

http://bbs.iosre.com/t/ios-9-3-3-dumpdecrypted-killed-9/4489/3


第三步,class-dump获取头文件信息

到了这一步就简单了,很多网上很多参考资料。命令格式如下:

class-dump -H /Applications/Calculator.app -o /Users/GofLee/Desktop/CalculateHeads

然后就终于看到了期待已久的头文件,忽然有种一览众山小的感觉。

下一步

1,目的是为了学习其他App,看看他们是如何确保:代码安全、数据安全、网络通讯安全、业务安全的。

2,获取头文件是第一步,还需要静态分析、动态调试、加入hook实现完整逆向过程。

了解了下越狱市场和一些专业术语:

1,越狱:目前iOS12还没有破解。

2,降级:只有苹果打开的通道可以,部分iPhone4是可以降级到iOS6版本的。

3,升级:往上可以指定要升级到的版本,也有特别小版本的限制。

4,平刷:把越狱的系统返回到正常的系统。Cydia中使用Cydia Erease工具。

5,隐藏ID:你买的二手手机可能还绑定着一个iCloud账号,但是你看不出来。


感受

iOS发展到今天,各种用户体验都非常完美;各种应用可以满足大家需求。逆向对于大众的意义已经很小了,所以市场也不断萎缩。逆向属于极客、安全人员、有追求的软件工程师的工具。

放几张越狱出问题的图,当你们总是遇到问题时可以看看我也是不容易的。

679850-a7ecfb7e9638191c.jpg
越狱 afc2
679850-67131eb9e55a92de.jpg
3194报错
679850-4f438dd5b008b3fb.jpg
Cydia Bad Gateway
679850-1570ca019125bba5.jpg
Cydia DPKG_LOCKED
679850-5da1b7a09701c7fb.jpg
Cydia trying to overwrite

全部实测,有问题欢迎交流。

要把iOS打通关!

猜你喜欢

转载自blog.csdn.net/weixin_34342578/article/details/87118927