越狱
之前越狱用的是iPhone6s iOS13的系统,因为是不完美越狱所以每次重启App都要重新再次越狱,否则无法打开Cydia,直接崩溃,最近我的iPhone6s完美退役了,没办法只能用了一台公司的测试机,无奈的是已经让我升级到最新的14.2系统了,好在现在checkra1n已经支持了,按照官网步骤来就行了,可能需要多尝试几次,我最初越狱成功后一直没有checkra1n
这个App,因此也无法安装Cydia
,重试了4次才出现checkra1n App
,听说有变砖的风险,请谨慎操作,越狱成功之后会有下图App
脱壳
原理我就不讲了,讲讲可用的脱壳工具有哪些。iOS12之前可以选择dumpdecrypted.dylib
、Clutch
、Frida
等工具。iOS12以后只有Frida
了
安装Frida
首先安装python3
brew install python3
pip3 install frida
pip3 install frida-tools
然后下载frida-ios-dump,进入frida-ios-dump文件夹,会发现里面有一个requirements.txt文件,这里面存储了一些依赖
sudo pip3 install -r requirements.txt --upgrade
到此没有意外的话Frida就已经安装成功了
越狱手机安装frida
越狱手机的安装步骤如下:
启动 Cydia
添加软件源 软件源 Sources-> 编辑 Edit(左上角)-> 添加 Add(右上角)-> 输入 https://build.frida.re/
-
通过刚才添加的软件源安装 frida 插件。根据手机进行安装:iPhone 5 及之前的机器为 32 位,5s 及之后的机器为 64 位,然后根据自己的手机的处理器是A12之前(
pre-A12
),还是A12以后(A12+
)进入 变更->找到Frida->进入Frida 在右上角点击安装,我的手机是iPhone7Plus 是A10所以选择了pre-A12
,安装完成后如下图
-
通过Mac命令frida-ps -U可以检测下是否连上如图
安装ssh,Cydia搜索安装OpenSSH
链接手机
这里我们用USB连接,要比WIFI响应速度快,网络环境无限制,脱壳会更快,WIFI下很容易卡住不动。usbmuxd
是网上开源社区,貌似是国外牛人倾力打造的一个专门针对该功能开源库。
通过brew来安装
brew install usbmuxd
usbmuxd
自带工具iproxy
,iproxy
可以快捷的操作连接iPhone等操作。由于Mac上只支持4位的端口号,所以需要把iPhone的默认端口22映射到Mac上,相当于建立一个Mac和iPhone之间的通道。
iproxy 2222 22
以上命令就是把当前连接设备的22端口(SSH端口)映射到电脑的2222端口,那么想和设备22端口通信,直接和本地的2222端口通信就可以了。
终端提示 waiting for connection ,表示这两个端口之间已经可以通信了,保留当前终端(如果关闭就停止端口之间的通信了),新建另一个终端输入,ssh -p 2222 root@127.0.0.1
ssh默认密码:alpine
ssh -p 2222 root@127.0.0.1
这样我们就链接上手机了
脱壳
进入frida-ios-dump文件夹,修改dump.py
User = 'root'
Password = 'alpine'
Host = 'localhost'
Port = 2222
然后执行,列出了所有可以被脱壳的应用,包括应用的id
,应用的名称
,应用的bundleId
这里为了保护我的隐私我只截取了前几个App
python3 ./dump.py -l
这里以Boss直聘为例(仅供学习
)
python3 dump.py com.hpbr.bosszhipin
我们看到已经生成了脱壳后的ipa应用
然后我们解压缩得到二进制文件,在MachOView中打开,已经可以看到Boss直聘的MachO格式了