前言:
为什么要用Reveal
Reveal是一个界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面。同时我们可以利用Reveal查看其他任意app,是学习iOS界面布局的利器。比较遗憾的是,iOS系统的限制,需要越狱才能实现查看。而且越狱也是一个技术活,需要注意的细节很多,各位小伙伴要有耐心。
一.流程概览
二.iOS设备越狱
1.越狱iOS设备
越狱的方式不算多,PP助手、爱思助手,本人用了这两款,傻瓜式操作,一键越狱,各位可Google具体操作。目前是非完美越狱,每次重启都需要重新激活。
2.越狱后会安装Cydia,而且不能卸载
打开Cydia,搜索CydiaSubstrate并安装,这里先不要安装OpenSSH,不然后面SSH无法连接到设备。CydiaSubstrate是一个框架,允许第三方的开发者在系统的方法里打一些运行时补丁,扩展一些方法。只有安装了CydiaSubstrate才会有下面要用到的目录,/Library/MobileSubstrate/DinamicLibraries。
二.安装Reveal
1.配置libReveal.plist及提取libReveal.dylib
具体方法相信大家都会了,本人安装的是1.6.3版本。安装后需要从中提取libReveal.dylib文件。方法如下图:
为了方便操作,本人在桌面建了一个reveal文件夹,并把libReveal.dylib放到该文件夹备用。
接下来需要准备一个libReveal.plist文件。别担心,这个文件配置很简单,一睹芳容如下图:
这里是微信和网易严选的BundleID,个人特别喜欢网易严选,准备好好学习下,所以就获取了严选的BundleID。后续有机会我会写下网易严选的布局分析。这里大伙儿可以先直接用本人的配置,我会放出来供大家下载。而如何获取APP的BundleID,各位可以自行Google。同样我把libReveal.plist放到桌面的reveal文件夹下。
2.将libReveal.plist、libReveal.dylib上传到iOS设备
这里先不要上传,需要第三部连接到设备才行。
三.通过WIFI进行SSH连接
p小心,这里有好几个小坑。
首先在 Cydia 中搜索 Filza 并安装,(也说可以在电脑端安装 iFunBox 工具,但是我安装了无法查看到文件,所有推荐安装Filza,亲测有效)。此步骤的主要目的是为了修改越狱工具中的一个文件。
①用Filza打开手机端的yalu102.app的
②直接双击打开dropbear.plist文件。
③替换127.0.0.1:22为22。
ps:找不到yalu102.app吗?该文件可能在/private/var/containers/Bundle/Application/yalu102/yalu102.app/ 也可能在/private/var/containers/Bundle/Application/越狱助手/yalu102.app/ 本人推测应该就是你安装的软件显明名路径下面。如本人就在越狱助手目录下面。
④重启设备
ps:卸载OpenSSH ,已经安装过的可以先卸载掉。不然无法通过 WIFI 进行 SSH 连接
⑤重启后可以愉快的连接你的iOS设备了,这里不用USB连接
连接方法:ssh root@<#iPhone IP Address#>
默认密码:alpine
保证电脑网络和iOS设备在同一局域网,比如本人的IP如下:
➜~ssh [email protected]
[email protected]'s password:
weide-iPhone:~ root#
这里强烈建议大家修改默认密码。
修改密码-->依次在终端输入:su root
然后按提示输入当前密码 passwd
输入新密码
四.将libReveal.plist、libReveal.dylib上传到iOS设备
这里打开Terminal,cd到桌面的reveal文件夹,执行下面的命令
scp libReveal.plist root@<手机端IP>:/Library/MobileSubstrate/DynamicLibraries/
scp libReveal.dylib root@<手机端IP>:/Library/MobileSubstrate/DynamicLibraries/
不过这里可能遇到sh: scp: command not found,注意这里是还没有通过Cydia安装,让我们来梳理一下目前的情况。现在可以通过WIFI进行SSH连接了,然后我们需要上传libReveal.plist和libReveal.dylib到设备的/Library/MobileSubstrate/DynamicLibraries/目录。
这里可能有两个问题:①sh: scp: command not found;②/Library/MobileSubstrate/DynamicLibraries/目录不存在。
第一个问题在Cydia上安装OpenSSH就可以了,注意安装了不要重启,重启之后就无法通过WIFI进行SSH连接了。
第二个问题,你通过Filza查看手机目录,其实是存在的,只是命令cd 到Library下看不到而已。
现在执行上面的命令应该成功了。
接下来继续保持手机是通过WIFI进行SSH连接状态,启动Reveal,打开微信或者网易严选
五.简单总结下
①越狱,通过Cydia安装CydiaSubstrate,产生/Library/MobileSubstrate/DynamicLibraries/目录
②安装Reveal,配置libReveal.plist、提交libReveal.dylib
③通过WIFI进行SSH连接,安装OpenSSHscp上面的两文件到/Library/MobileSubstrate/DynamicLibraries/目录
④打开Reveal,iOS设备运行对应的APP
本文主要参考了下面文章,特此感谢
https://www.xiaolei0808.com/2017/03/15/iOS10-0-10-2jailbreak/
https://hurui.gitbooks.io/reveal-debug/content/viewOtherApp.html
http://www.jianshu.com/p/060745d5ecc2