Reveal逆向工程:分析任意iOS应用的UI界面

在iOS逆向工程中,Reveal扮演着重要角色,一般情况下,Reveal在iOS开发过程中可以分析UI界面的状态,同样也可以应用于分析其他任意的App。特别是对于初学者来说,去了解其他优秀App的界面搭建,对于提升开发能力也有极大帮助。

1、准备工作

在使用Reveal分析他人的app之前,请确保如下条件具备:

  • 一台能够越狱的iPhone,最好是iOS7或者iOS8版本;
  • Reveal1.6.2最新版本
  • PP助手:电脑上安装最新的PP助手
  • 文本编辑器:如UltraEdit等
  • 一台无线路由器,需要保证MAC与手机都连接到同一台无线路由器上

2、手机越狱

根据iPhone系统版本的情况,选择对应的越狱方法,对iPhone进行越狱操作。

3、cydia中安装软件

手机越狱完成后,在cydia中安装如下软件:

  • AFC补丁:Apple File Conduit(有些时候会自动装上,如果没有安装的话,手动安装)
  • Reveal Loader 1.0.0
  • 安装后,请重启手机

IMG_0008IMG_0004

4、文件上传

  • 使用文档编辑工具(如:UE)创建一个名称为:libReveal.plist的文件,格式如下:
  1. { 
  2.     Filter = { 
  3.         Bundles = (
  4. "com.apple.AppStore",
  5. );     
  6. }; 
  7. }
  • 使用PP助手,上传libReveal.plist文件到iPhone的如下目录:/Library/MobileSubstrate/DynamicLibraries

QQ20151123-0@2x

  • 打开Reveal,点击菜单栏上的HELP,选择Show Reveal Library in Finder,然后把libReveal.dylib文件也上传到手机的/Library/MobileSubstrate/DynamicLibraries目录中

5、开始分析

  •  保证iPhone和Mac连接在同一台无线路由器下;
  • 打开iPhone的设置–>Reveal,选择需要分析的App;

IMG_0005IMG_0006IMG_0007

  • 在iPhone上,打开需要分析的App,然后返回Reveal,在左上角选中手机,即可分析界面构成。

QQ20151123-1@2x

6、注意点

  1. 必须保证手机和Mac在同一个Wifi环境下,分析时,手机无需用USB线连接到电脑;
  2. 必须上传libReveal.plist文件到手机中,否则会白苹果;如果白苹果了,请参考下一节,如何解除;
  3. libReveal.plist文件,请用文本编辑器创建,不要使用xcode之类的创建,推荐用UE。

7、白苹果解决方法

如果忘记上传LibReveal.plist,会造成手机白苹果,这个时候需要3步操作恢复:

  1. 强制重启:电源键+HOME键长按;
  2. 进入安全模式:开机后,苹果图标一出现,马上按住音量+,即可开机;
  3. 开机后,使用PP助手,删除libReveal.dylib文件(注意是:dylib文件),然后重启,手机恢复正常。
原文地址:https://www.cnblogs.com/YanPengBlog/p/5255586.html