您的位置:首页 > 移动开发

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

2017-04-05 22:27 811 查看

前言

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

其实网上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)“


安装libimobiledevice

brew install libimobiledevice


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


然后检查iproxy是否安装成功

ls /usr/local/bin/ | grep iproxy


如果有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


给这个plist执行权限

cd ~/Desktop
chmod +x com.usbmux.iproxy.plist


右键finder,选择前往文件夹,然后输入

~/Library/LaunchAgents


把刚刚桌面上的com.usbmux.iproxy.plist,拖拽到LaunchAgents文件夹下。启动这个proxy

launchctl load ~/Library/LaunchAgents/com.usbmux.iproxy.plist


接着,在终端输入

ssh root@localhost -p 2222


会提示输入密码

192:~ Leo$ ssh root@localhost -p 2222
root@localhost's password: *


默认密码: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


声明

本博客所有文章仅为个人观点,与雇主没有任何关系。如要转载,请征求作者同意。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 越狱 Reveal7 2017 Reveal