码迷,mamicode.com
首页 > 移动开发 > 详细

iOS使用Reveal分析他人app界面

时间:2015-05-13 16:47:10      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:reveal   ios逆向工程   ui结构分析   

不确定界面架构是否合理?最简单的办法就是看看别人是怎么做的,比如QQ。

方法也比较简单,就是一个工具:Reveal。下面说说怎么用。


测试环境:mac osx 10.10 / xcode 6.3 / ios7.1.2 / Reveal 1.5.1


安装:

    首先前往 http://revealapp.com/download/ 去下载文件,解压直接运行,就可以看到界面了。这里强烈建议把下载的Reveal拷贝到mac的“应用程序”里。


调试自己的APP

   Reveal主要是用来调试自己的app的,不过有人研究出了怎么去看所有app的方法。现在xcode已经集成了界面分析工具,所以,用Reveal分析调试自己的app就变的不是那么重要了,感兴趣可以前往: http://support.revealapp.com/kb/getting-started/integrating-reveal-static-linking 。官网说的非常详细,这里就不在介绍了。


调试他人APP

越狱

    调试他人app首先要把iphone越狱,关于怎么越狱,baidu一下即可,要注意的是,越狱过程中最好关闭“查找我的iphone功能”,并且将开机密码清除,否则可能会越狱不成功,至少我自己碰到过因为这个原因不能越狱的情况。

    越狱完成后,通过Cydia(越狱后自动安装的一个软件源)安装OpenSSH和MobileSubstrate(现在已经改名叫:cydia substrate),注意Cydia第一次启动后需要更新软件源,所以可能搜索不到应用,这时候等一会,让Cydia更新完之后再搜索就行了,有点像ubuntu的apt-get update。


通过openSSH拷贝framework和dylib到越狱机

    scp -r /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/Reveal.framework root@192.168.0.X:/System/Library/Frameworks
    scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib root@192.168.0.X:/Library/MobileSubstrate/DynamicLibraries

拷贝时注意Reveal的路径是否正确,还有iphone的ip地址也要正确才行。openSSH的root账户默认密码是:alpine


编辑libReveal.plist

再iphone的 /Library/MobileSubstrate/DynamicLibraries/ 目录下创建文件libReveal.plist,当然也可以在电脑上创建编辑后拷贝到iphone上,方法同上面拷贝framework。

libReveal.plist内容如下(这里已appStore为例),Bundles里写要分析的app的Bundle,可以制定多个,只要写多行"Bundles =..."就行了:

{   
    Filter = {  
         Bundles = ("com.apple.AppStore");   
    };   
}

关于Bundle,可以用pp助手等查看app文件夹,在应用目录下的iTunesMetadata.plist文件中,softwareVersionBundleId一项就是了。不过我的pp助手不能单独导出这个文件,需要把整个软件都导出才能查看,原因不明。


重新启动越狱的iphone

然后就可以打开Reveal看别人的app怎么布局的了。注意,iphone和安装Reveal的机器一定要在同一网络下。


下面是QQ(信息已涂抹):

技术分享




iOS使用Reveal分析他人app界面

标签:reveal   ios逆向工程   ui结构分析   

原文地址:http://blog.csdn.net/cuibo1123/article/details/45694657

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!