今天心血来潮(蓄谋已久?)的想试一下手机APP的逆向工程,之前有同事演示过对某APP进行逆向然后调用APP的签名函数,这样可以直接获得请求时的签名,而不用苦嚼JS来寻找加密函数。我也不禁有点手痒想试一试。
要做APP逆向,因为我准备在IOS上搞事情,第一个条件是越狱。我翻出了家里不知道多少年前使用的iPhone 4,充了电居然能用!那么,就开始吧!
越狱的必要条件
根据我自己的经验,这个版本(iOS7.1.2)的iPhone越狱只有两个必要条件:Pangu 1.2.1和iTunes 12.1.3。下载地址:
Pangu_1.2.1,谷歌上搜到的官网默认显示的最新版本,我们这个版本要去历史版本里面找,也就是我给出的这个链接。
iTunes 12.1.3,对,没错,这个版本的盘古对iTunes的版本有要求,你可能要回退一下你的iTunes版本。如果你越狱的时候点了按软件要求点了“信任”此电脑之后没反应,嗯,就是这个问题导致的。
我现在的主力电脑是mbp 2017,我自己并不想折腾我本机上的iTunes,手头也没有windows的机器,然后我想到了虚拟机。
Mac + VirtualBox + Windows + ...
事实证明,这套组合是可行的。唯一一个要解决的问题是如何将USB设备(这里是手机)从本机桥接到虚拟机上,这点下面会讲。
至于如何用在Mac上安装使用VirtualBox,以及如何制作一个Windows虚拟机,这里就不多讲了。
win10虚拟机.png
只讲两点:
共享文件夹
如上所述,这不是必须的。但是有了这个可以让操作更流畅一点。
首先你需要下载VBoxGuestAdditions_5.0.0.iso。这里的版本需要和VirtualBox的版本对应。这是一个iso文件,你可以虚拟机光驱上直接挂在这个文件,然后执行安装即可。
在VirtualBox上,你需要配置共享文件夹,这里有两个地方需要配置:
这里可以将“共享粘贴板”和“拖放”都设置为双向。它们的意思就是表面的意思。
第二个地方是“共享文件夹”,划掉的地方就是你在MAC上要共享的路径名,权限也要相应设置一下,为了方便可以设置成自动挂在和完全访问权限。
完成这两步操作后(我不确定是否需要重启),在此打开windows上的“资源管理器” - “网络”,你可以找到一个名为VBOXSVR的主机,这就是你共享的文件夹。
共享文件夹.png
USB桥接挂载
这点比较重要,我们需要将USB设备桥接到虚拟机上。同样我们需要做两件事情。
第一个是安装Oracle提供的扩展包:VirtualBox 5.2.18 Oracle VM VirtualBox Extension Pack。注意这里的版本也要和VirtualBox版本对应。下载完成后可以直接打开文件,VirtualBox会检测到它,根据指示完成安装即可。
第二个要修改的地方虚拟机设置里的端口 - USB设备:
这里我以为至少要选择USB2.0吧。
最后,在插上USB设备后,还需要手动连接。
前面一定要打钩,才算手机连上了。测试的时候可以用一个U盘,如果虚拟机里能读取到U盘,说明就成功了。
盘古越狱
关于真正的越狱过程,网上有非常详细的教程:[ 【Mac版】盘古越狱工具iOS7.1-iOS7.1.2完美越狱【图文教程】。
但我们的情况稍有些不同,这里列出来:
- 因为我是桥接USB设备,在越狱过程中,有时设备会重启。因此每次在重启的时候,你都需要再手动连接一次设备。
- 如果根据要求点了“信任”之后没反应,可能是iTunes的版本不对。
- 越狱完后会出现设备存储空间满的问题,运行一次Cydia就行了。
最后,祝大家好运!
成功.png
网友评论