iOS逆向工程之Reveal工具的安装、配置与使用
今天博客內(nèi)容比較簡單,不過還是蠻重要的。經(jīng)常有小伙伴在QQ上私下問我,說博客中是如何使用Reveal查看AppStore中下載應(yīng)用的UI層級的,那么就在今天這篇博客中作為一個主題來統(tǒng)一的介紹一下吧。雖然網(wǎng)上相關(guān)資料一抓一大把,不過還是有必要詳細(xì)的總結(jié)一下的。
還是那句話,“工欲善其事,必先利其器”,在之前的多篇博客中不止一次用到這個強(qiáng)大的分析工具Reveal,之前我們用它來查看自己App以及從AppStore中下載的App的UI層級,效果都是非常不錯的。Reveal在逆向工程中不僅僅是用來查看UI層級的,它可以幫你定位問題。比如舉個簡單的例子,假如你想在某個App的某個頁面彈出一個Alter,那么Reveal會很輕松的幫你找到這個頁面以及相關(guān)的類。
好了,廢話少說,今天博客的主題就是如何在越獄環(huán)境下配置和使用Reveal來查看App的UI層級。Reveal for Mac版可以從Reveal官網(wǎng)上下載,不過只能試用30天。你也可以從網(wǎng)上直接下載破解版的Reveal。如果你想搞的有意思點(diǎn),使用Hopper自己去破解官方的Reveal,網(wǎng)上有使用Hopper來修改Reveal匯編,破解Reveal的教程,親試有效。使用Hopper破解Reveal的不做請移步于“Reveal破解鏈接”,在當(dāng)前最新版本1.6.3是有效的。本篇博客中所使用的Reveal 1.6.3就是使用Hopper進(jìn)行破解。當(dāng)然,這不是今天的主題,今天的主題是如何使用Reveal。
當(dāng)然今天博客中所涉及的內(nèi)容是在越獄手機(jī)上進(jìn)行的,如何使用Reveal在未越獄的手機(jī)上查看你自己的App的UI層級,請自行Google,在此就不做過多贅述了。
一、在越獄設(shè)備上配置Reveal
下方的內(nèi)容是基于越獄的設(shè)備操作的,設(shè)備的系統(tǒng)版本為iOS9.2.1 越獄版。
1. Reveal Loader安裝
首先我們打款越獄設(shè)備的Cydia,然后在搜索中輸入Reveal Loader,并且進(jìn)行安裝即可,下方是安裝后的效果。這一步比較簡單,安裝后重啟SpringBoard即可。
2.導(dǎo)入libReveal.dylib
這一步也是比較關(guān)鍵的一步,安裝完上述的Reveal Loader后請查看是否有/Library/RHRevealLoader這個文件夾,并且確定該文件夾中是否有libReveal.dylib這個文件,如果有的話,請?zhí)^這一步,如果沒有,那么就往下看吧。
(1)操作越獄設(shè)備文件所需的工具
當(dāng)然,本部分需要對越獄設(shè)備中的文件系統(tǒng)進(jìn)行操作,并且將Mac上的文件夾導(dǎo)入到設(shè)備中。當(dāng)然你可以使用OpenSSH來連接你的設(shè)備,但是要是將Mac中的文件導(dǎo)入到越獄設(shè)備相應(yīng)的文件夾中,還是使用下方的可視化工具更直觀一些。
下方是我本地裝的兩個工具,當(dāng)然其中任何一個都可以操作iOS設(shè)備的文件系統(tǒng),不過iExplorer這個工具的功能更強(qiáng)大一些。iExplorer可以查看你的Mac上所有iOS設(shè)備的備份文件,當(dāng)然也包括非越獄設(shè)備的備份文件。
(2)libReveal.dylib
我們Mac上的Reveal自帶了兩個庫,一個是libReveal.dylib,一個是Reveal.framework。在未越獄的設(shè)備上使用庫是后者,本篇博客中使用的是前者。這兩個文件位于Reveal中的iOS Library中。Reveal菜單->Help->Show Reveal Library in Finder ->iOS Library。通過上述目錄就可以找到我們需要的文件,當(dāng)然本篇博客中我們只需要libReveal.dylib這一個文件。
找到上述的libReveal.dylib文件后,使用IExplorer拷到我們的設(shè)備中相應(yīng)的目錄下即可。如下所示。
至此,我們的Reveal配置工作就結(jié)束了,接下來就是使用Reveal來做一些事情了。
二、Reveal的使用
1.在設(shè)備上選擇可以Reveal的App
我們在越獄設(shè)備上安裝完Reveal Loader后就可以在設(shè)置中找到Reveal的配置項,在該配置項中我們可以去選擇要Reveal的App, 當(dāng)然對于越獄手機(jī),手機(jī)上安裝的所有App都可以Reveal。當(dāng)然也包括從AppStore下載的,也包括iOS系統(tǒng)自帶的。如下所示:
2.查看系統(tǒng)App"股市"的UI層級
上面Reveal的配置工作就以及配置好了,接下來的時間就是Reveal的使用時間了。Mac上Reveal查看設(shè)備上App的UI層級時是不需要使用USB進(jìn)行連接的,但要保證你的iOS設(shè)備與你的Mac在同一個局域網(wǎng)內(nèi)。下方這個截圖就是我在使用Reveal時的一個截圖,DecoupleDemo on 呵呵(iOS 9.3.2)這個設(shè)備是我一個同事的,當(dāng)然他的手機(jī)是未越獄的設(shè)備,不過他的App中引入了Reveal.framework這個包,所以我在這邊也是可以看到的。下方是我的越獄設(shè)備,當(dāng)然這個“股市”App是iOS系統(tǒng)自帶的App, 接下來就看一下如何去使用Reveal在越獄設(shè)備上來查看第三方App的UI層級。
在上方截圖中,我們點(diǎn)擊下方的股市這條就可以Reveal“股市”這個App了。下方就是“股市”這App的UI層級圖。
經(jīng)過上述步驟,Reveal就可以正常工作了,至于如何讓Reveal的功能發(fā)揮到極致,那么還得看使用的人呢。今天博客就先到這兒。
總結(jié)
以上是生活随笔為你收集整理的iOS逆向工程之Reveal工具的安装、配置与使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java笔试题
- 下一篇: 策略(Strategy)模式