使用Reveal分析别人App的UI布局

准备工作

越狱iOS设备

  1. 如何越狱可以参考盘古越狱的相关文章,具体详情参见链接:http://jailbreak.25pp.com/ppjailbreak/?from=25pp_00119,最新iOS越狱可以支持iOS 9.3.3,也可以看我整理的非官方的越狱文章
  2. 在Cydia源中安装OpenSSH、MobileSubstrate等工具,之后的文章会讲到其他工具

macOS 本地安装Reveal

具体安装及使用可以参见我之前的文章:http://chaosky.me/2016/07/27/Reveal

操作步骤

在Cydia中搜索并安装Reveal Loader

Snip20160727_11

远程连接iPhone设备

  1. 在Cydia中安装OpenSSH工具

  2. 打开Wi-Fi设置,获取IP地址(例如:192.168.2.6)
    Snip20160727_1

  3. 打开终端,执行命令ssh root@[设备IP地址](例如:ssh root@192.168.2.6

  4. 等待几分钟后,允许新连接
    Snip20160727_3

  5. 输入密码alpine登录iPhone设备
    Snip20160727_4

检查iOS设备上/Library/目录下是否有一个名为RHRevealLoader的目录

Snip20160727_5

  1. 若没有则创建该目录:mkdir /Library/RHRevealLoader

  2. 启动Reveal并选择Help → Show Reveal Library in Finder,这将会打开Finder窗口,并显示一个名为iOS-Libraries的文件夹。

    将该目录下的libReveal.dylib通过scp或者iFunBox上传到刚才的手机目录,scp执行的命令如下:

    1
    scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib root@192.168.2.6:/Library/RHRevealLoader

重启设备

  1. 可以在设备上执行命令:killall SpringBoard
  2. 也可以重启设备,不过需要注意的是,最新的越狱为不完美越狱,重启设备需要点击PP盘古越狱重新越狱

启动Reveal调试别人的App

  1. 打开设置程序,配置Reveal Loader
    Snip20160727_6
  2. 在Reveal设置中选择你要查看的App,Enabled Applications
    Snip20160727_8
  3. 在Reveal中调试查看
    调试时,需要注意越狱设备和Mac需要在同一网路环境中
    Snip20160727_10

注意

最新版 Reveal v4 下载地址:http://xclient.info/s/reveal.html

新版本的 Reveal v4 的 libReveal.dylib 改名为 RevealServer.framework 了,逆向分析的时候手机端只要把 RevealServer.framework 目录下的 RevealServer 改名为 libReveal.dylib 拷贝到手机上的 /Library/RHRevealLoader 目录中即可。

参考文章