Reveal使用教程
Posted 为童沉沦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Reveal使用教程相关的知识,希望对你有一定的参考价值。
Reveal使用教程
Reveal是用于透视程序整体结构的一个软件,软件收费89美刀,试用期30天,不过好在有破解版,无需担心花钱的问题
在然后呢,软件在哪下,可以在我的github上下载到破解版本的,https://github.com/baitongtong/Reveal-.git
直接运行即可
那么我们先来看下Reveal提供的示例吧,打开Reveal软件,什么~~怎么打开~~好吧,双击就可以了
进入以后是如下界面
那么如何打开示例呢?
点击help
点击Start exploring
稍等几秒
duang的一下,就出现了下面界面
那么我们来分析下软件有什么功能呢
点击界面的其中一个图像
控件还有哪些属性呢
修改属性的时候,你甚至可以直观的在模拟器上看到结果,但是很遗憾的是你代码没有修改,需要你自己修改
那么好了,我们体验过了他的示例的强大,但是如何关联到我们的应用上呢,接下来介绍如何在我们的应用上集成如此酷的效果
首先我们需要获得他的开发包,一种呢是下载我提供的一个Reveal,另外是你自己来获取
第一种方式
第二种方式
接下来我们创建一个工程
按照官方文档的说明,还需要2个步骤
一个是添加引用库libz,另外需要添加-ObjC就可以了,这里需要注意大小写问题,那么我们来看下
然后运行工程,在打开我们的Reveal
之后可以正常使用了,自己点点看看吧
调试他人APP
越狱
调试他人app首先要把iphone越狱,关于怎么越狱,baidu一下即可,要注意的是,越狱过程中最好关闭“查找我的iphone功能”,并且将开机密码清除,否则可能会越狱不成功,至少我自己碰到过因为这个原因不能越狱的情况。
越狱完成后,通过Cydia(越狱后自动安装的一个软件源)安装OpenSSH和MobileSubstrate(现在已经改名叫:cydia substrate),注意Cydia第一次启动后需要更新软件源,所以可能搜索不到应用,这时候等一会,让Cydia更新完之后再搜索就行了,有点像ubuntu的apt-get update。
通过openSSH拷贝framework和dylib到越狱机
[plain] view plain copy
- scp -r /Applications/Reveal.app/Contents/SharedSupport/ios-Libraries/Reveal.framework [email protected]:/System/Library/Frameworks
- scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib [email protected]:/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 =..."就行了:
调试他人APP
越狱
调试他人app首先要把iphone越狱,关于怎么越狱,baidu一下即可,要注意的是,越狱过程中最好关闭“查找我的iphone功能”,并且将开机密码清除,否则可能会越狱不成功,至少我自己碰到过因为这个原因不能越狱的情况。
越狱完成后,通过Cydia(越狱后自动安装的一个软件源)安装OpenSSH和MobileSubstrate(现在已经改名叫:cydia substrate),注意Cydia第一次启动后需要更新软件源,所以可能搜索不到应用,这时候等一会,让Cydia更新完之后再搜索就行了,有点像ubuntu的apt-get update。
通过openSSH拷贝framework和dylib到越狱机
[plain] view plain copy
- scp -r /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/Reveal.framework [email protected]:/System/Library/Frameworks
- scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib [email protected].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(信息已涂抹):
关于Bundle,可以用pp助手等查看app文件夹,在应用目录下的iTunesMetadata.plist文件中,softwareVersionBundleId一项就是了。不过我的pp助手不能单独导出这个文件,需要把整个软件都导出才能查看,原因不明。
重新启动越狱的iphone
然后就可以打开Reveal看别人的app怎么布局的了。注意,iphone和安装Reveal的机器一定要在同一网络下。
下面是QQ(信息已涂抹):
以上是关于Reveal使用教程的主要内容,如果未能解决你的问题,请参考以下文章
Reveal使用教程-使用Reveal查看任意iOS App的图层结构