一、越狱你的设备
截止到2019-08-15,目前市面上有两款越狱软件unc0ver和Chimera
设备:iphone8 plus
系统版本:ios12.2
越狱软件选择:Chimera
越狱过程相对简单,安装好Chimera app到手机上,打开直接一键越狱,成功后会显示“Alaready Jailbreak”,并会安装Sileo,新版的Cydia
二、SSH登录到你的设备
因为后续的步骤都需要在设备执行命令行,故最好能SSH登录到手机上
一般设备越狱后,会安装OpenSSH工具,可在Sileo中的“已安装”进行检查,如果没有,自行安装
然后将手机和mac电脑用数据线连接,参考工具iPhoneTunnel:http://blog.sina.com.cn/s/blog_74e9d98d0102v3st.html
从手机上拷贝文件到电脑:
scp -P 2222 [email protected]:/var/mobile/Documents/xxx.deb /Users/ma/Downloads/Payload
从电脑拷贝文件到手机:
scp -P 2222 /Users/ma/Downloads/Payload/xxx.deb [email protected]:/var/mobile/Documents/
三、砸壳app
针对从appstore安装的app需要此步骤,其他渠道的ipa包不用
之前有Clutch、dumpdecrypted但都已无法正常使用,截止到2019-08-15,可采用Frida来砸壳(介绍参考连接:http://blog.sina.com.cn/s/blog_74e9d98d0102xw8g.html)
Frida砸壳,大概步骤如下:
1. 在设备端安装Frida
a. 打开Sileo 添加源:https://build.frida.re(可手工到此网站上下载ios版的frida-server,源上面的始终都是最新版,必须要保持设备端和mac端的版本要一致才行,下载下来的frida-server解压得到frida-server命令工具,然后将该命令工具上传到设备,ssh到设备端chmod 777 frida-server, 然后./frida-server,则设备端的frida-server就运行起来了)
b. 搜索安装Frida,完成后,在之前ssh到的设备端命令行里检查是否有命令“frida-server”,如果有表示安装frida成功,且此时frida-server已运行【表示在设备上开启了一个frida的服务】
2.在mac上安装Frida
此过程有点复杂且会出现一些问题,此处不多说,可参考如下链接:
http://blog.sina.com.cn/s/blog_74e9d98d0102xw8g.html
http://iosre.com/t/frida-ios-dump/11640
如果安装成功后,在mac端新开一个命令行窗口,输入“frida-ps -Uai”可查看设备上所有安装的app信息:
第一列有PID的应用,表示已经打开存在于内存中的应用,frida dump时也只能dump这些已经运行的app
Mac端安装完Frida之后,需再下载AloneMonkey开发的Frida-ios-dump工具会,这个工具就是借助于Frida编写的一个python脚本,然后这里面就有那个“dump.py”文件,cd到此目录中,执行命令“./dump.py 学习强国”【ios端和mac端要保证frida的版本是一致的,mac端一般更新命令为“sudo pip install --upgrade frida --ignore-installed six”需要在对应目录下放置一个egg文件才能更新成功,下载对应版本地址:https://pypi.org/project/frida/#files】
完成之后,在firda-ios-dump-master目录里就有砸壳过的ipa文件
四、class-dump导出头文件
经历过多次版本升级之后,之前各越狱论坛上的已不能正确使用,截止到2019-09-06时,已知AlongMoney开发的xcode越狱开发插件“MonkeyDev”中所带的class-dump可以dump出ios和swift所编写的
五、具体问题具体分析
1、从界面入手,可使用reveal、lookin操作【reveal在越狱手机商店cydia或是sileo上的版本比较旧了,ios12.2的越狱机已找不到合适的,但lookin可以】
2、注入式分析,可用cycript、frada-trace操作【cycript也是在高版本的越狱机上无合适的版本了】