读书频道 > 网站 > 网页设计 > iOS应用逆向工程(第2版)
3.3 Reveal
15-06-18    下载编辑
收藏    我要投稿   

本文所属图书 > iOS应用逆向工程(第2版)

仔细阅读了本书从字里行间可以感受到作者的认真,在当今这个浮躁的大环境中,这是非常难得的,单从认真这点来看,这本书绝不是一本水货,强烈推荐大家阅读,尤其是初学者。本书的前六章侧重于理论的介绍,但又不立即去当当网订购
Reveal是由ITTY BITTY出品的UI分析工具,可以直观地查看App的UI布局,如图3-15所示。
官方给Reveal的定位是“See your application’s view hierarchy at runtime with advanced 2D and 3D visualisations”,但作为逆向工程师,查看自己App的UI布局显然不能满足我们的需求,能够查看别人App的UI布局才是正经事儿——图3-16就是用Reveal查看AppStore的效果。
 
 
在Reveal界面的左侧,AppStore的UI布局以树形方式展现出来,当选中一个控件时,右侧的界面截图会实时地标出选中的位置。同时大家也一定注意到了,Reveal也解析出了UI控件对应的类名,如图3-16中所示的SKUIAttributedStringView。要查看别人App的UI布局,还需要对Reveal做简单配置。
 
1. 安装Reveal Loader
 
在Cydia中搜索并安装Reveal Loader,如图3-17所示。
 
值得注意的是,在安装Reveal Loader的时候,它会自动从Reveal的官网下载一个必须的文件libReveal.dylib。如果网络状况不太好,Reveal Loader不一定能够成功下载这个dylib文件,而且它没有针对dylib下载失败的情况做容错处理,可能会在下载界面卡顿很长时间,导致Cydia停止响应。因此,在下载它之前最好连接美国VPN,且在下载完Reveal Loader后,检查iOS上的“/Library/”目录下有没有一个名为“RHRevealLoader”的文件夹,如下:
 
FunMaker-5:~ root# ls -l /Library/ | grep RHRevealLoader
drwxr-xr-x  2 root   admin  102 Dec  6 11:10 RHRevealLoader
 
 
如果没有,就手动创建一个,如下:
 
FunMaker-5:~ root# mkdir /Library/RHRevealLoader
然后打开Reveal,在它标题栏的“Help”选项下,选中其中的“Show Reveal Library in Finder”子选项,如图3-18所示。
 
 
此时就会出现图3-19所示的界面。
 
把这个libReveal.dylib通过scp或iFunBox等方式拷贝到刚才创建的RHRevealLoader目录下,如下:
 
FunMaker-5:~ root# ls -l /Library/RHRevealLoader
total 3836
-rw-r--r-- 1 root admin 3927408 Dec  6 11:10 libReveal.dylib
 
 
至此完成Reveal Loader的安装。
 
2. 配置Reveal Loader
 
Reveal Loader的配置界面位于Settings应用中,它的名字叫“Reveal”,如图3-20所示。


 
点击“Reveal”进入其界面,呈现在我们面前的主要是一些使用声明,如图3-21所示。
 
点击“Enabled Applications”,进入配置界面。要分析哪个App,就打开对应的开关。这里打开了AppStore和Calculator的开关,如图3-22所示。
 
 
Reveal Loader的配置就是这样了。既直观又方便,不是吗?
 
3. 使用Reveal查看目标App的UI布局
 
一切准备就绪,轮到主角Reveal出场了。首先确认OSX和iOS位于同一网段内,然后启动Reveal,并重启iOS上的目标App(即如果App开着,需要先关掉,再打开)。从Reveal界面左上角选择目标App,稍等一会儿,Reveal就会把目标App的UI布局展现在我们面前,如图3-23所示。
 
 
Reveal的使用并不复杂,它是一款用户体验不错的工具。但是在iOS逆向工程中,对App的分析往往不会只是停留在UI层,外在表象下的内在实现才是最终目标。在本书的后半部分,将采用Reveal的“文字版”,即recursiveDescription函数,配合Cycript来挖掘隐藏在UI布局下的代码,届时你就会感知iOS逆向工程的真正威力。
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站