iOS14.2|iOS14.2 手机越狱,App脱壳

越狱
之前越狱用的是iPhone6s iOS13的系统,因为是不完美越狱所以每次重启App都要重新再次越狱,否则无法打开Cydia,直接崩溃,最近我的iPhone6s完美退役了,没办法只能用了一台公司的测试机,无奈的是已经让我升级到最新的14.2系统了,好在现在checkra1n已经支持了,按照官网步骤来就行了,可能需要多尝试几次,我最初越狱成功后一直没有checkra1n这个App,因此也无法安装Cydia,重试了4次才出现checkra1n App,听说有变砖的风险,请谨慎操作,越狱成功之后会有下图App

iOS14.2|iOS14.2 手机越狱,App脱壳
文章图片
IMG_0175.jpg
脱壳
原理我就不讲了,讲讲可用的脱壳工具有哪些。iOS12之前可以选择dumpdecrypted.dylibClutchFrida等工具。iOS12以后只有Frida
安装Frida
【iOS14.2|iOS14.2 手机越狱,App脱壳】首先安装python3

brew install python3 pip3 install frida pip3 install frida-tools

然后下载frida-ios-dump,进入frida-ios-dump文件夹,会发现里面有一个requirements.txt文件,这里面存储了一些依赖

iOS14.2|iOS14.2 手机越狱,App脱壳
文章图片
截屏2020-11-28 上午2.03.08.png
sudo pip3 install -r requirements.txt --upgrade

到此没有意外的话Frida就已经安装成功了
越狱手机安装frida
越狱手机的安装步骤如下:
  1. 启动 Cydia
  2. 添加软件源 软件源 Sources-> 编辑 Edit(左上角)-> 添加 Add(右上角)-> 输入 https://build.frida.re/
  3. 通过刚才添加的软件源安装 frida 插件。根据手机进行安装:iPhone 5 及之前的机器为 32 位,5s 及之后的机器为 64 位,然后根据自己的手机的处理器是A12之前(pre-A12),还是A12以后(A12+)进入 变更->找到Frida->进入Frida 在右上角点击安装,我的手机是iPhone7Plus 是A10所以选择了pre-A12,安装完成后如下图
    iOS14.2|iOS14.2 手机越狱,App脱壳
    文章图片
  4. 通过Mac命令frida-ps -U可以检测下是否连上如图

    iOS14.2|iOS14.2 手机越狱,App脱壳
    文章图片
链接手机
这里我们用USB连接,要比WIFI响应速度快,网络环境无限制,脱壳会更快,WIFI下很容易卡住不动。usbmuxd是网上开源社区,貌似是国外牛人倾力打造的一个专门针对该功能开源库。
通过brew来安装
brew install usbmuxd

usbmuxd 自带工具iproxyiproxy 可以快捷的操作连接iPhone等操作。由于Mac上只支持4位的端口号,所以需要把iPhone的默认端口22映射到Mac上,相当于建立一个Mac和iPhone之间的通道。
iproxy 2222 22

以上命令就是把当前连接设备的22端口(SSH端口)映射到电脑的2222端口,那么想和设备22端口通信,直接和本地的2222端口通信就可以了。
终端提示 waiting for connection ,表示这两个端口之间已经可以通信了,保留当前终端(如果关闭就停止端口之间的通信了),新建另一个终端输入,默认密码:alpine
ssh -p 2222 root@127.0.0.1

iOS14.2|iOS14.2 手机越狱,App脱壳
文章图片
这样我们就链接上手机了
脱壳
进入frida-ios-dump文件夹,修改dump.py
User = 'root' Password = 'alpine' Host = 'localhost' Port = 2222

然后执行,列出了所有可以被脱壳的应用,包括应用的id,应用的名称,应用的bundleId
这里为了保护我的隐私我只截取了前几个App
python3 ./dump.py -l

iOS14.2|iOS14.2 手机越狱,App脱壳
文章图片
这里以Boss直聘为例(仅供学习)
python3 dump.py com.hpbr.bosszhipin

iOS14.2|iOS14.2 手机越狱,App脱壳
文章图片

我们看到已经生成了脱壳后的ipa应用

iOS14.2|iOS14.2 手机越狱,App脱壳
文章图片

然后我们解压缩得到二进制文件,在MachOView中打开,已经可以看到Boss直聘的MachO格式了

iOS14.2|iOS14.2 手机越狱,App脱壳
文章图片
截屏2020-11-28 上午2.41.17.png 至此App脱壳已经结束了,对于想学逆向变成的同学后续逆向还是需要花时间学习的。我主要是通过脱壳来dump一些第三方用到的框架和研究其他App复杂界面的实现

    推荐阅读