iOS使用Reveal分析他人app界面

标签: RevealiOS逆向工程UI结构分析
24921人阅读 评论(4) 收藏 举报
分类:

不确定界面架构是否合理?最简单的办法就是看看别人是怎么做的,比如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(信息已涂抹):





0
0

猜你在找
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:676276次
    • 积分:6658
    • 等级:
    • 排名:第3553名
    • 原创:95篇
    • 转载:10篇
    • 译文:11篇
    • 评论:259条
    微信


    微信:lofocus

     

    如果有问题,可加微信 :D

    博客专栏
    作品
    最新评论