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


4、文件上传
- 使用文档编辑工具(如:UE)创建一个名称为:libReveal.plist的文件,格式如下:
- {
- Filter = {
- Bundles = (
- "com.apple.AppStore",
- );
- };
- }
- 使用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、注意点
- 必须保证手机和Mac在同一个Wifi环境下,分析时,手机无需用USB线连接到电脑;
- 必须上传libReveal.plist文件到手机中,否则会白苹果;如果白苹果了,请参考下一节,如何解除;
- libReveal.plist文件,请用文本编辑器创建,不要使用xcode之类的创建,推荐用UE。
7、白苹果解决方法
如果忘记上传LibReveal.plist,会造成手机白苹果,这个时候需要3步操作恢复:
- 强制重启:电源键+HOME键长按;
- 进入安全模式:开机后,苹果图标一出现,马上按住音量+,即可开机;
- 开机后,使用PP助手,删除libReveal.dylib文件(注意是:dylib文件),然后重启,手机恢复正常。
Reveal逆向工程:分析任意iOS应用的UI界面的更多相关文章
- iOS - Reveal逆向分析任意iOS应用的UI界面
在iOS逆向工程中,Reveal扮演着重要角色,一般情况下,Reveal在iOS开发过程中可以分析UI界面的状态,同样也可以应用于分析其他任意的App.Reveal是一个很强大的UI分析工具,可非常直 ...
- UI 界面:技术决定一切
转自:http://www.cnblogs.com/NEOCSL/archive/2012/12/10/2811153.html 在我看来,肖恩帕克不仅仅是一位技术天才和远见卓识的移动互联网领域先锋. ...
- Reveal:分析iOS UI的利器
转:http://security.ios-wiki.com/issue-3-4/ Reveal简介 Reveal是分析iOS应用UI的利器: Reveal能够在运行时调试和修改iOS应用程序.它能连 ...
- Reveal:分析iOS UI该武器
Reveal是分析iOS应用UI的利器: Reveal可以在执行时调试和改动iOS应用程序.它能连接到应用程序,并同意开发人员编辑各种用户界面參数.这反过来会马上反应在程序的UI上.就像用FireBu ...
- iOS真机UI调试利器——Reveal
做iOS的开发,UI是非常非常重要的一环.调试时我们一般用模拟器,提交前用真机做测试.用模拟器来调试UI效果虽然快捷方便,但有时仍然希望有更强大 的工具来帮助分析UI,尤其是专注在UI的效果调试时.最 ...
- IOS开发中UI编写方式——code vs. xib vs.StoryBoard
最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...
- 美团开源Graver框架:用“雕刻”诠释iOS端UI界面的高效渲染
Graver 是一款高效的 UI 渲染框架,它以更低的资源消耗来构建十分流畅的 UI 界面.Graver 独创性的采用了基于绘制的视觉元素分解方式来构建界面,得益于此,该框架能让 UI 渲染过程变得更 ...
- Sprint 5 summary: UI 界面更新,Azure端部署和用户反馈分析 12/28/2015
本次sprint主要完成的任务有对手机APP的UI界面的更新,同时对Azure客户端的部署进行了相应的学习和有关的程序设计.同时对于ALPHA release的用户反馈做出相应的分析以确定接下来工作的 ...
- iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸
iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨 ...
随机推荐
- 高品质的JavaScript
整理书籍内容(QQ:283125476 发布者:M [重在分享,有建议请联系->QQ号]) 养成良好的编程习惯 ##如何避免团队JS冲突 * 避免实用全局变量[可使用匿名函数进行处理]以避免全局 ...
- codeforces 235 div2 A. Vanya and Cards
Vanya loves playing. He even has a special set of cards to play with. Each card has a single integer ...
- (F. MST Unification)最小生成树
题目链接:http://codeforces.com/contest/1108/problem/F 题目大意:给你n个点和m条边,然后让你进行一些操作使得这个图的最小生成树唯一,每次的操作是给某一条边 ...
- Python内置模块与标准库
Python内置模块就是标准库(模块)吗?或者说Python的自带string模块是内置模块吗? 答案是:string不是内置模块,它是标准库.也就是说Python内置模块和标准库并不是同一种东西. ...
- SQL Server 索引(一)数据结构和存储结构
本文关注以下方面(本文所有的讨论基于SQL Server数据库): 索引的分类: 索引的结构: 索引的存储 一.索引定义分类 让我们先来回答几个问题: 什么是索引? 索引是对数据库表中一列或多列的值进 ...
- Nagios介绍
Nagios介绍 Nagios是一款功能强大.优秀的开源监控系统,它能够让你发现和解决IT架构中存在的问题,避免这些问题影响到关键业务流程. Nagios最早于1999年发布,它在开源社区的影响力是相 ...
- Linux字符集的查看及修改【转】
一·查看字符集字符集在系统中体现形式是一个环境变量,以CentOS6.5为例,其查看当前终端使用字符集的方式可以有以下几种方式: 1.[root@david ~]# echo $LANGzh_CN.G ...
- casperjs get开头的几个dom操作使用
getCurrentUrl() Signature: getCurrentUrl() Retrieves current page URL. Note that the url will be url ...
- list的几种new方式比较ImmutableList
数组的非空判断: -----数组的非空判断----- StringUtils.isNotBlank(array); list的非空判断: -----list的非空判断----- CollectionU ...
- P1270 【“访问”美术馆】
$\large{\text{一千个Oier程序中有一千种树形DP}}$ 思路都差不多的,但是每个人都有自己的状态定义与转移 不妨定义$dp[i][j]$表示,在$i$子树内,偷$j$张画,且不考虑根到 ...