iOS逆向与安全 - 3. Reveal查看页面层次结构

简介

Reveal 是一个界面调试工具,可以在iOS开发时动态地查看和修改应用程序的界面。不但可以在运行时看到iOS程序的界面层级关系,也可以实时地修改程序界面,不需要重新运行程序即可看到效果。


下载

去Reveal官网下载Reveal试用版(土豪随意)。


使用介绍

1. 自己应用内使用(不逆向对Reveal的使用)

-手动导入

  1. 打开Reveal,在菜单栏 –> Help –> Show Reveal Library in Finder –> iOS Library ,将RevealServer.framework拷贝出来。
    iOS逆向与安全 - 3. Reveal查看页面层次结构_第1张图片

  2. 打开自己工程,将RevealServer.framework拖入工程内,在配置项,General –> Embedded Binaries –> 引入RevealServer.framework

  3. –> Build Settings –> 输入other linker flags –> 添加 -ObjC 和 -l”z”

  4. –> Build Phase –> 添加 libz.tbd 库。

  5. 运行工程后,打开Reveal, 选择运行的程序,可以开始进行页面的修改。
    iOS逆向与安全 - 3. Reveal查看页面层次结构_第2张图片

  6. 实时修改前

实时修改后

iOS逆向与安全 - 3. Reveal查看页面层次结构_第3张图片
在使用时,我们将Reveal连接上模拟器或真机上正在运行的iOS程序,然后就可以查看和调试iOS程序的界面。

-通过 CocoaPods 导入

  1. Podfile 文件添加 pod ‘Reveal-SDK’, :configurations => [‘Debug’]
  2. 终端执行 pod update 或 pod install
  3. 运行 APP, 就可以在 Reveal 中查看你的 APP 界面布局了, 并且只有在 debug 模式下才能查看, 如果是 release 模式则不能
    (通过这种方式集成的 Reveal, 可以查看模拟器和真机上 APP 界面布局。)

2.逆向分析中App对Reveal的使用

在Cydia中下载Reveal2Loader,安装后,–> 设置 –> Reveal –> Enable Applications –> 选择你要打开的应用
iOS逆向与安全 - 3. Reveal查看页面层次结构_第4张图片

iOS逆向与安全 - 3. Reveal查看页面层次结构_第5张图片

打开终端, ssh连接越狱设备

ssh root@192.168.xx.xx

输入密码,连接设备后,手机上可以打开TIM,电脑上打开Reveal软件,
此时如下图, 发现越狱设备中的RevealServer.framework版本过低,
iOS逆向与安全 - 3. Reveal查看页面层次结构_第6张图片

iOS逆向与安全 - 3. Reveal查看页面层次结构_第7张图片

版本过低解决方案
1. 打开Reveal,在菜单栏 –> Help –> Show Reveal Library in Finder –> iOS Library ,将RevealServer.framework拷贝出来。
2. 打开IFunBox, 找到路径, –> Library –> Frameworks –> 删除原有的RevealServer.framework –> 将 Step1 的RevealServer.framework拷贝进去
3. 连接越狱设备后,输入killall SpringBoard重启手机

killall SpringBoard

iOS逆向与安全 - 3. Reveal查看页面层次结构_第8张图片

  1. 手机再次打开TIM,Mac电脑再次打开Reveal,会发现

iOS逆向与安全 - 3. Reveal查看页面层次结构_第9张图片

选中一个进入,修改界面View的背景颜色:
iOS逆向与安全 - 3. Reveal查看页面层次结构_第10张图片

此时手机上TIM也跟着改变颜色:
改变其中View背景颜色前
iOS逆向与安全 - 3. Reveal查看页面层次结构_第11张图片

改变其中View背景颜色后
iOS逆向与安全 - 3. Reveal查看页面层次结构_第12张图片


Reveal 还是很方便让我们知道了app的结构层次。今天才知道TIM登录页是这样构成的哈哈。

感谢。

你可能感兴趣的:(iOS应用逆向工程)