0%

【iOS逆向】使用Reveal查看AppUI结构

在开发中,我们可能需要参考其它app界面的实现方式来寻找开发思路,通过Reveal工具,我们可以很方便的查看App在内存中的视图结构,如下(AppStore)

RevealAppstore

准备

  1. 一台越狱的手机
  2. Reveal,推荐使用v4以上的版本,支持USB链接,速度快

手机安装Reveal2Loader插件

在Cydia搜索Reveal2Loader,该插件在BissBoss源,直接就能搜到,安装

安装完成后重启SpringBoard

拷贝Reveal服务文件到iPhone中

打开mac上的Reveal,Help->Show Reveal Library in Finder->iOS Library
Reveal2Loader

进入目录/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework,也可以直接打开这个目录

RevealServer.framework库中的RevealServer拷贝到手机Library/RHRevealLoader/并重命名为libReveal.dylib

1
2
3
4
5
# 进入目录
cd /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework

# 如果手机上没有/Library/RHRevealLoader这个目录,需要先创建一下
scp RevealServer root@xx.xx.xx.xx:/Library/RHRevealLoader/libReveal.dylib

RevealServer.framework复制到手机的/System/Library

1
2
3
4
5
# 进入目录
cd /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries

# 远程拷贝目录
scp -r RevealServer.framework root@xx.xx.xx.xx://System/Library/RevealServer.framework

重启手机

1
killall SpringBoard

这时候设置里面会出现Reveal选项

我们进入Enabled Applications打开AppStore

打开Mac上的Reveal,打开手机上的AppStore,可以看到Reveal识别到AppStore
RevealList

进入查看视图
RevealAppstore

Reveal可以看到视图结构,内存地址,还能看到View对应的ViewController