Reveal UI 分析工具分析手机 App

上篇文章介绍了: Reveal UI 分析工具简单使用html

这里介绍如何使用 Reveal UI 分析工具来进行手机 App UI 界面的分析。安全

 

前提准备:网络

(1)已安装 Reveal 的 Macapp

(2)已越狱的 iPhonessh

(3)良好的网络环境工具

 

原理:post

回想起咱们使用 Reveal 来分析 iPhone 模拟器的 App 时,咱们是在 Xcode 的指定工程里引用并加载 Reveal.framework 文件,从而当 App 运行时,打开 Reveal 选中链接当前 App 就能够进行他的 UI 界面分析了。关键点就在于「指定工程里引用并加载 Reveal.framework 文件」。测试

而手机 App 是已经部署到咱们手机里了,咱们不可能对 App 的安装包“动手脚”让他能加载 Reveal 相关的文件,那咱们该怎么办呢?spa

 

这问题问得很好,然而咱们在越狱的 iPhone 里,经过 iFile App 发现 iOS 存在共享动态库的目录「/Library/MobileSubstrate/DynamicLibraries」,存放在此目录的.dylib 后缀文件能被 App 按需调用。那么问题又来了,怎么从 Mac 中拷贝 Reveal 相关的文件到 iPhone 的此目录下呢?命令行

 

答案就是:先在 iPhone 中经过 Cydia App 安装「OpenSSH」;而后在 Mac 的终端中,经过命令进行 SSH 协议的文件传输。

 

PS:OpenSSH 为 WinSCP 依赖的基础通信服务协议:OpenSSH 是一种普遍使用的 SSH 程序,SSH 就是 Secure Shell 的缩写,既安全命令行,SSH 是一种能够保证用户远程登陆到系统的协议,而 iOS 实际上就是一个基于 BSD 底层的 Linux 内核的定制 OS X 系统,因此能够经过这个通信协议来远程(非在本机)登陆已有 SSH 协议的设备,从而达到在 PC(Mac)上远程输入命令来操做 iOS 设备的目的。

接下来,让咱们开始实践吧。

 

步骤:

一、在 iPhone 上安装 OpenSSH

  • 打开 iPhone 上的 Cydia

  • 选择右下角的搜索,输入 OpenSSH

  • 在搜索到的结果中选择 OpenSSH

  • 点击屏幕右上角的安装

 

 

二、测试 Mac 是否能链接 iPhone

  • 让 Mac 和 iPhone 处于同一 wifi 环境中

  • 在 Mac 终端输入ssh root@IP(这个 IP 是 iPhone 上的 IP,好比个人 iPhone 上的 IP 为 192.168.0.101,此时输入命令是:ssh root@192.168.0.101)

  • 等待一会后,输入密码(无回显操做),默认是 alpine(默认密码建议不要改,但为了安全考虑,能够修改。具体操做看第3步)

  • 链接成功后,就能够管理 iPhone 上的文件了

  • 输入 exit 退出(咱们这里只是测试一下能不能连上 iPhone)

 

三、修改 iPhone 的 root 和 mobile 帐户密码(注意:操做需很是谨慎,确保记住修改后密码:例如我设置密码为本身易记的拨号帐户)(可选操做)

1 //使用 root 帐户登陆
2 ssh root@192.168.0.101
3 //输入帐户密码登陆成功后,再输入如下命令,而后按需输入旧密码和新密码(无回显),进行修改 root 帐户密码
4 passwd
5 //注销登陆
6 exit
1 //使用 mobile 帐户登陆;能够考虑在 root 帐户已登陆的状况下,输入「su - mobile」命令切换为 mobile 帐户登陆
2 ssh mobile@192.168.0.101
3 //输入帐户密码登陆成功后,再输入如下命令,而后按需输入旧密码和新密码(无回显),进行修改 mobile 帐户密码
4 passwd
5 //注销登陆
6 exit

 

四、准备上传文件

  • 打开 Reveal,点击菜单栏上的 Help, 选择 Show Reveal Library in Finder

  • 将 libReveal.dylib 拷贝到桌面,方便操做

  • 在桌面建立 libReveal.plist,输入想分析的 App 的 BundleId,能够多个。好比AppStore(其实能够不输入, 这时能分析全部的 App,可是机器会慢到你没法想象,或者开机白苹果啥的,建议仍是指定分析 App 比较好)

1 {      
2     Filter = {          
3         Bundles = (
4             "com.apple.AppStore"
5         );    
6     }; 
7 }

 

 

 

五、上传文件到 iPhone(Mac 终端操做)

1 //上传 libReveal.dylib 和 libReveal.plist 到 iPhone(192.168.0.101是 iPhone 上的 IP)
2 scp Desktop/libReveal.dylib root@192.168.0.101:/Library/MobileSubstrate/DynamicLibraries
3 scp Desktop/libReveal.plist root@192.168.0.101:/Library/MobileSubstrate/DynamicLibraries

 

六、重启 iPhone(关机、开机进行重启)

若是你成功的完成了上面的步骤,而且 iPhone 成功重启,OK,下面就能够分析 App 了。

  • 打开Reveal,打开 iPhone 上你指定的 App,在 Reveal 左上方选择 App

  • 切换页面后,能够点击 Reveal 右上角的刷新按钮

相关文章
相关标签/搜索