iOS 10越狱和Reveal 8分析三方App UI框架教程

前言

这是一篇写给开发者的博客,如果碰巧非开发者搜到了这篇博客,那么博客的内容可能不适合你。

其实网上Reveal的教程很多,但是很多都是停留在Reveal 1或者Reveal 2时代的博客,不太适合最新版本的Reveal 8,所以还是决定写这样一篇文章。

本文最终的效果:

淘宝首页:

  • 可以看到,淘宝首页其实就是一个巨大的CollectionView

京东首页:

  • 可以看到,京东首页其实就是一个巨大的TableView

越狱

准备工作:

  • 一台待越狱的设备(10.3系统以下),最好用测试机或者淘汰下来的设备越狱,越狱前关闭设备的密码,做好数据备份。
  • XCode

笔者的设备是iphone 5s(10.0.2), XCode 8.3

步骤

  • 下载开源项目yalu102,并用XCode打开。
  • 下载IOKitHeaders,并且把头文件拖拽到上一步打开的XCode项目中,注意选中Copy。下载地址
  • 修改jailbreak.m中的#import <IOKit/IOKitlib.h>#import "IOKitLib.h"
  • 修改Bundle identifier, 连接iphone运行项目。发现多安装了一个App名称为“yalu102”
  • 打开yalu102,点击Go开始越狱。越狱成功后,桌面程序会重启,然后会发现多个一个Cydia的App,越狱成功。


配置本文需要的环境

安装OpenSSH,方便我们把mac上的文件拷贝到手机

  • 在Cydia中搜索OpenSSH,点击安装。

通过USB进行SSH

可以通过Wifi进行SSH,不过USB进行SSH的话,速度更快,所以本文采用USB的方式。

  • 安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/  install/master/install)
 
 
  • 1
  • 1
  • 安装libimobiledevice
brew install libimobiledevice
 
 
  • 1
  • 1

如果失败,执行brew link --overwrite libusb,后再执行brew install libimobiledevice

  • 然后检查iproxy是否安装成功
ls /usr/local/bin/ | grep iproxy 
 
 
  • 1
  • 1

如果有grep不是空的,说明安装成功。

  • 然后,桌面新建一个plist,命名为com.usbmux.iproxy.plist,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.usbmux.iproxy</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/iproxy</string>
        <string>2222</string>
        <string>22</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 给这个plist执行权限
cd ~/Desktop
chmod +x com.usbmux.iproxy.plist
 
 
  • 1
  • 2
  • 1
  • 2
  • 右键finder,选择前往文件夹,然后输入
~/Library/LaunchAgents
 
 
  • 1
  • 1
  • 把刚刚桌面上的com.usbmux.iproxy.plist,拖拽到LaunchAgents文件夹下。启动这个proxy
launchctl load ~/Library/LaunchAgents/com.usbmux.iproxy.plist
 
 
  • 1
  • 1
  • 接着,在终端输入
ssh root@localhost -p 2222
 
 
  • 1
  • 1
  • 会提示输入密码
192:~ Leo$ ssh root@localhost -p 2222
root@localhost's password: *
 
 
  • 1
  • 2
  • 1
  • 2

默认密码:alpine

显示xxxxx-iPhone:~ root#,则表示ssh环境配置成功。


安装cyberduck

cyberduck可以让我们通过拖拽的方式把mac上的文件拷贝到ios设备。

  • 官网下载cyberduck,下载完成后,解压缩,拖拽到应用目录

  • 启动cyberduck,点击新建连接,选择SFTP(SSH),然后按照图中的方式填写。注意默认密码和上文一样,都是alpine

  • 点击连接,看到下图表示SSH成功。点击图中的部分,可以回到根目录。


安装Reveal

  • 从官网下载Reveal,本文下载当前最新的版本Reveal 8(试用版需要先填写email信息,然后获得试用key).下载完成后,将reveal拖拽到应用目录,然后执行Reveal。这时候如图:


最后的步骤

通过前文的准备,我们可以把文件拷贝到越狱的手机,MAC上我们也有Reveal了。接下来就是最后的,也是比较关键的步骤。

  • 安装Reveal2Loader(注意不是RevealLoader,那个源版本太老了)。在cydia中,搜索Reveal2Loader,然后安装。

如果安装失败,在软件源中点击编辑->删除BigBoss。接着点击Tabbar上的Cydia -> 更多软件源重新安装BigBoss(比较慢).再试着安装Reveal2Loader

  • 安装Reveal2Loader成功后,在设置中会多一个Reveal选项,进入然后选择Enable Applications,这里是你想要用Reveal分析的App。比如我选择打开手机淘宝。

然后,运行淘宝,你会发现Reveal中有提示了,如果没有提示,尝试关闭淘宝,重新启动。

到这里,如果提示链接的Framework版本过低,那么我们需要把最新的Framework拷贝到手机上。

  • 点击Reveal的菜单栏中的Help,然后按照图中方式打开对应的framework路径。

  • 用上文的cyberduck SSH到iOS 设备上,然后进入/Library/Frameworks,删除当前目录下的RevealServer.framework(注意别删错了)

!!!!iOS设备上删文件一定要慎重,不要动系统的文件,当心白苹果。

接着,按照图中的方式,把RevealServer.framework拖拽到/Library/Frameworks下。

然后,终端SSH到iOS设备,执行以下命令,重启SpringBoard即可。

killall SpringBoard
 
 
  • 1
  • 1

声明

本博客所有文章仅为个人观点,与雇主没有任何关系。如要转载,请征求作者同意。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值