iOS14.2 手机越狱,App脱壳

越狱

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

iOS14.2 手机越狱,App脱壳_第1张图片
IMG_0175.jpg

脱壳

原理我就不讲了,讲讲可用的脱壳工具有哪些。iOS12之前可以选择dumpdecrypted.dylibClutchFrida等工具。iOS12以后只有Frida

安装Frida

首先安装python3

brew install python3
pip3 install frida
pip3 install frida-tools

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

iOS14.2 手机越狱,App脱壳_第2张图片
截屏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 手机越狱,App脱壳_第3张图片
  4. 通过Mac命令frida-ps -U可以检测下是否连上如图


    iOS14.2 手机越狱,App脱壳_第4张图片

链接手机

这里我们用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 [email protected]

这样我们就链接上手机了

脱壳

进入frida-ios-dump文件夹,修改dump.py

User = 'root'
Password = 'alpine'
Host = 'localhost'
Port = 2222

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

python3 ./dump.py -l
iOS14.2 手机越狱,App脱壳_第5张图片
这里以Boss直聘为例(仅供学习)
python3 dump.py com.hpbr.bosszhipin
iOS14.2 手机越狱,App脱壳_第6张图片

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


iOS14.2 手机越狱,App脱壳_第7张图片

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


iOS14.2 手机越狱,App脱壳_第8张图片
截屏2020-11-28 上午2.41.17.png

至此App脱壳已经结束了,对于想学逆向变成的同学后续逆向还是需要花时间学习的。我主要是通过脱壳来dump一些第三方用到的框架和研究其他App复杂界面的实现

你可能感兴趣的:(iOS14.2 手机越狱,App脱壳)