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

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

前提准备:

(1)已安装 Reveal 的 Mac

(2)已越狱的 iPhone

(3)良好的网络环境

原理:

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

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

这问题问得很好,然而我们在越狱的 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 设备的目的。

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

步骤:

1、在 iPhone 上安装 OpenSSH

  • 打开 iPhone 上的 Cydia

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

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

  • 点击屏幕右上角的安装

2、测试 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)

3、修改 iPhone 的 root 和 mobile 账户密码(注意:操作需非常谨慎,确保记住修改后密码:例如我设置密码为自己易记的拨号账户)(可选操作)

 //使用 root 账户登录
ssh root@192.168.0.101
//输入账户密码登录成功后,再输入以下命令,然后按需输入旧密码和新密码(无回显),进行修改 root 账户密码
passwd
//注销登录
exit
 //使用 mobile 账户登录;可以考虑在 root 账户已登录的情况下,输入「su - mobile」命令切换为 mobile 账户登录
ssh mobile@192.168.0.101
//输入账户密码登录成功后,再输入以下命令,然后按需输入旧密码和新密码(无回显),进行修改 mobile 账户密码
passwd
//注销登录
exit

4、准备上传文件

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

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

  • 在桌面创建 libReveal.plist,输入想分析的 App 的 BundleId,可以多个。比如AppStore(其实可以不输入, 这时能分析所有的 App,但是机器会慢到你无法想象,或者开机白苹果啥的,建议还是指定分析 App 比较好)

 {
Filter = {
Bundles = (
"com.apple.AppStore"
);
};
}

5、上传文件到 iPhone(Mac 终端操作)

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

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

如果你成功的完成了上面的步骤,并且 iPhone 成功重启,OK,下面就可以分析 App 了。

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

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

Reveal UI 分析工具分析手机 App的更多相关文章

  1. 使用KRPano资源分析工具分析动态网站资源

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  2. VS2010自带的性能分析工具分析.NET程序的性能

    这篇博文给大家分享的是,如何使用VS自带的性能分析工具来分析我们编写的.NET程序,一边找出程序性能的瓶颈,改善代码的质量.在实际开发中,性能真的很重要,往往决定一个产品的生死~良好的用户体验的基础之 ...

  3. (appium+python)UI自动化_02_appium启动手机app

    前提:需先安装配置好appium+python自动化环境,已配置好环境的小伙伴可以参考以下步骤启动Android app,具体步骤如下: 一.USB连接手机 (1)手机USB连接电脑 (2)手机打开开 ...

  4. 网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置)

    我们只能通过各种系统日志来分析网站的运行状况,对于部署在IIS上的网站来说,IIS日志提供了最有价值的信息,我们可以通过它来分析网站的响应情况,来判断网站是否有性能问题,或者存在哪些需要改进的地方 对 ...

  5. Reveal UI 分析工具简单使用

    官网下载地址(30天免费试用):http://revealapp.com/ 作用: 在 iOS 开发中,我们有时很希望有一款类似 Web 开发中的 UI Debug 工具(例如:Firebug),让我 ...

  6. Android动态逆向分析工具ZjDroid--脱壳神器

    项目地址:https://github.com/BaiduSecurityLabs/ZjDroid 前提条件: 1.Root手机一部 2.须要通过Xposed installer( http://dl ...

  7. Android Studio - HPROF文件查看和分析工具

    Android Studio 翻译的官方文章 原文链接 当你在Android Studio中使用Android Monitor里的Memory Monitor工具监视内存使用情况时,可以把Java堆快 ...

  8. 安装php xdebug调试工具及性能分析工具webgrind for windows

    安装php xdebug调试工具及性能分析工具webgrind for windows 第一步:查看php版本等信息 phpinfo(); 上面是 x86 NTS VC14 第二步: 下载xdebug ...

  9. MySQL监控、性能分析——工具篇

    https://blog.csdn.net/leamonjxl/article/details/6431444 MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性 ...

随机推荐

  1. windows中的程序放在linux上因为字符集不同出错

    问题 在把windows下的一个python脚本挪到linux下的时候,出现了一个奇怪的问题,就是标题那样的报错,很明显,shell没有用对应的python解释器去解释脚本,而是直接用shell解释了 ...

  2. [部署]MVC4.0+EF5.0+ODT+ORACLE相关注意事项

    摘要 项目开发工具:VS2012旗舰版(.NetFrameWork4.5.1),WIN7 64bit,Oracle 11g 服务器环境:Windows Server2008 R2 64bit,.Net ...

  3. 【WEB】HTTP协议

    http1.0和http1.1 区别,http1.1可以发送多个http请求

  4. 开启curl扩展(转)

    一.win7系统32位, apache2.2, php5.2升级到5.4. 这个比较容易: 1. phpinfo发现没有加载curl; 2. 在php.ini中设置extension_dir 指向e: ...

  5. Excel 2013中单元格添加下拉列表的方法

    使用Excel录入数据的时候我们通常使用下拉列表来限定输入的数据,这样录入数据就很少发生错误了.Excel 2013较以前的版本发生了很大的变化,那么在Excel 2013是如何添加下拉列表的呢? 下 ...

  6. SPSS常用基础操作(3)——对数据资料进行整理

    在实际工作中,往往需要对取得的数据资料进行整理,使其满足特定的分析需求,下面介绍SPSS在资料整理方面的一些功能. 1.加权个案加权个案是指给不同的个案赋予不同的权重,以改变该个案在分析中的重要性.为 ...

  7. [maven] 常用插件解析

    参考资料:http://my.oschina.net/zh119893/blog/276090 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完 ...

  8. jquery的一些属性选择器

    td:contains(Henry)选择td里面所有class为Henry的元素 .siblings()选择相同dom层次的所有其他元素,例如 <ul> <li>第一个< ...

  9. Code Simplicity–The Science of Software Development 书摘

    Chapter1 Introduction That is the art and talent involved in programming—reducing complexity to simp ...

  10. loading

    <!doctype html> <html> <head> <title>实惠福利</title> <meta charset=&qu ...