一、Reveal
1 一般使用
Reveal是ITTY BITTY發布的UI分析工具,可以很直觀的查看App的UI布局。如下圖所示:

Reveal是需要付費的,需要89美元,也可以免費使用30天,不過和其它軟件一樣,網上都有破解版。推薦另一位博主的博客,里面有破解版安裝和簡單使用教程:iOS張誠的博客——Reveal使用教程。 另外也將軟件Fork了一份到GitHub:https://github.com/mddios/Reveal.git。
2 程序逆向
上面的介紹對於我們自己程序的調試,查看UI布局,改動控件尺寸后實時顯示已足夠;但是對於程序逆向來說顯然不能滿足我們的要求,能夠查看別人App的布局才是我們的目的,介紹如下:
下面的操作需要用到越獄手機
- 在越獄手機安裝Reveal Loader
在Cydia中搜索安裝Reveal Loader,安裝完成后檢查/Library/
目錄下有沒有RHRevealLoader
文件夾,如果沒有,則根據下圖提示,通過PP助手、iTools等手機助手自己創建一個RHRevealLoader
文件夾,一定要在/Library/
目錄下。

- 拷貝動態庫到手機
在MacBook下打開已經安裝的Reveal,選擇標題欄Help下的Show Reveal Library in Finder子選項,將會顯示如下界面:

將libReveal.dylib文件通過PP助手拷貝到剛才創建的RHRevealLoader
文件夾下,至此Reveal Loader安裝完畢。
- 配置Reveal Loader
打開手機設置,找到Reveal(一般在設置的最下面),然后點擊Reveal,進入后再點擊Enabled Applications就進入配置頁面,如果想看哪個App則打開后面的按鈕。假設我們查看系統自帶的天氣應用,那么打開后面的按鈕,然后回到手機主界面點擊啟動天氣應用(如果已經啟動,關閉后再次啟動),最后再在MacBook的Reveal中選擇對應的應用即可,如下圖所示:

下面為系統天氣應用UI布局圖,還是很清晰的,使用了大量的Label和ImageView控件,再配合class-dump(如何使用參考此處)出的頭文件,對應用程序就有整體認識:

二、Hopper Disassemble與IDA
根據class-dump和Reveal只能對程序整體有個框架性的認識,但是具體到某個功能、函數則需要反匯編工具,甚至能夠在線調試它們,打印出我們想要的信息等等。Hopper Disassemble與IDA都是反匯編/調試器工具,兩款軟件選擇哪個都可以,IDA支持Windows、Linux、Mac OS X多平台的反匯編/調試器,Hopper Disassemble更傾向於Mac OS X平台。可以去官網下載安裝:
- IDA官網下載地址https://www.hex-rays.com/products/ida/support/download_demo.shtml
- Hopper Disassemble官網下載地址http://www.hopperapp.com
這兩款軟件也都是有破解版的,已上傳到了csdn,可以直接下載(IDA是免積分的;Hopper Disassemble下載需要一個積分,上傳后才發現不能取消,需要管理員權限才可以,先謝謝大家的積分)
-
IDA下載地址http://download.csdn.net/detail/m__dd/9264233,可以使用,但並沒有破解,雖然每30分鍾會彈出提示框,但是已經業界良心了。
-
Hopper Disassemble下載地址(版本是3.7.8)http://download.csdn.net/detail/m__dd/9264179
-
下面是IDA的預覽圖片,使用時直接將可執行文件拖進程序即可,另外在標題欄View->open subView選項中可以打開不同的瀏覽窗口。

- 下面是Hopper Disassemble的預覽圖片,使用時直接將可執行文件拖進程序即可,另外圖中紅色圈主的部分,是兩個按鈕打開后可以點擊下試試,會經常使用。
