在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
  • 安装后,请重启手机

4、文件上传

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

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

5、开始分析

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

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

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文件),然后重启,手机恢复正常。

Reveal逆向工程:分析任意iOS应用的UI界面的更多相关文章

  1. iOS - Reveal逆向分析任意iOS应用的UI界面

    在iOS逆向工程中,Reveal扮演着重要角色,一般情况下,Reveal在iOS开发过程中可以分析UI界面的状态,同样也可以应用于分析其他任意的App.Reveal是一个很强大的UI分析工具,可非常直 ...

  2. UI 界面:技术决定一切

    转自:http://www.cnblogs.com/NEOCSL/archive/2012/12/10/2811153.html 在我看来,肖恩帕克不仅仅是一位技术天才和远见卓识的移动互联网领域先锋. ...

  3. Reveal:分析iOS UI的利器

    转:http://security.ios-wiki.com/issue-3-4/ Reveal简介 Reveal是分析iOS应用UI的利器: Reveal能够在运行时调试和修改iOS应用程序.它能连 ...

  4. Reveal:分析iOS UI该武器

    Reveal是分析iOS应用UI的利器: Reveal可以在执行时调试和改动iOS应用程序.它能连接到应用程序,并同意开发人员编辑各种用户界面參数.这反过来会马上反应在程序的UI上.就像用FireBu ...

  5. iOS真机UI调试利器——Reveal

    做iOS的开发,UI是非常非常重要的一环.调试时我们一般用模拟器,提交前用真机做测试.用模拟器来调试UI效果虽然快捷方便,但有时仍然希望有更强大 的工具来帮助分析UI,尤其是专注在UI的效果调试时.最 ...

  6. IOS开发中UI编写方式——code vs. xib vs.StoryBoard

    最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...

  7. 美团开源Graver框架:用“雕刻”诠释iOS端UI界面的高效渲染

    Graver 是一款高效的 UI 渲染框架,它以更低的资源消耗来构建十分流畅的 UI 界面.Graver 独创性的采用了基于绘制的视觉元素分解方式来构建界面,得益于此,该框架能让 UI 渲染过程变得更 ...

  8. Sprint 5 summary: UI 界面更新,Azure端部署和用户反馈分析 12/28/2015

    本次sprint主要完成的任务有对手机APP的UI界面的更新,同时对Azure客户端的部署进行了相应的学习和有关的程序设计.同时对于ALPHA release的用户反馈做出相应的分析以确定接下来工作的 ...

  9. iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸

    iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨 ...

随机推荐

  1. python学习笔记6--双色球需求实现

    # 5,随机产生5条双色球号码 # blue 存蓝色的求 01,02 # red 存红色的求 17,16,03 # date存生成的时间,精确达到秒 #处理 import random,datetim ...

  2. PHP使用数据库的并发问题

    在并行系统中并发问题永远不可忽视.尽管PHP语言原生没有提供多线程机制,那并不意味着所有的操作都是线程安全的.尤其是在操作诸如订单.支付等业务系统中,更需要注意操作数据库的并发问题. 接下来我通过一个 ...

  3. PHP 设计模式 单例模式 工厂模式 注册模式

    1.工厂模式,工厂方法或者类生成对象,而不是在代码中直接new 2.单例模式,使某个类的对象仅允许创建一个 3.注册模式,全局共享和交换对象 项目文件目录 入口文件 index.php <?ph ...

  4. COM和.NET的互操作

    组件对象模型的基本知识         基于构件的软件开发日益流行,这里我吧自己在学校时整理的关于COM的一些东西献给大家,供初学者参考.一.组件(COM),是微软公司为了计算机工业的软件生产更加符合 ...

  5. Linux:安装mysql

    #install mysql$ rpm -ivh MySQL-client-5.5.28-1.rhel5.x86_64.rpm --nodeps$ rpm -ivh MySQL-server-5.5. ...

  6. 使用android模拟器开发程序

    自从android studio升级到3.0之后自带的模拟器已经很好用了,尤其是升级后可以想vmware那样休眠,再次开启就可以快速启动了 以下是几点可以更方便地使用系统模拟器进行开发的小技巧,毕竟模 ...

  7. LeetCode(18):四数之和

    Medium! 题目描述: 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 t ...

  8. OpenStack中的Multipath faulty device的成因及解决(part 1)

    | 版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.如有问题,可以邮件:wangxu198709@gmail.com 简介: Multip ...

  9. 直接以管理员身份运行bat代码

    https://www.cnblogs.com/dengpeng1004/p/7044441.html

  10. centos 监控进程,并自动重启

    编辑Crontab crontab -e 按i进行编辑 */ * * * * /root/monitor.sh # 每分钟运行一遍monitor.sh脚本 * * * /sbin/reboot # 每 ...