原文:http://zhuanlan.zhihu.com/iOSRe/19646016spring
Reveal是一個很強大的UI分析工具,與其餘幾個功能相近的工具(好比PonyDebugger)相比,其最大的特色就是很是直觀,用來查看app的UI佈局很是方便。其常規用法是將framework集成至Xcode工程中,可參見Reveal的官網Reveal App,但咱們此次講述的倒是很是規用法。app
在12/21的#阿里技術嘉年華#上,我給聽衆展現了使用Reveal查看任意app的效果,估計是當時所展現的工具中最亮眼的一個。既然如此,我就提早在這裏把Reveal的這個技巧詳細的列出來。工具
一、越獄設備,iPhone/iTouch/iPad均可以,iOS6以上(驚聞iOS7也已經越獄了);佈局
二、安裝Reveal,Trail或正式版均可以,而後越獄設備與安裝Reveal的Mac在同一wifi內。spa
三、點擊菜單Help / Show Reveal Library in Finder,獲取libReveal.dylibcode
圖1 找到libReveal.dylibget
四、將libReveal.dylib上傳到設備的/Library/MobileSubstrate/DynamicLibrariesit
圖2 上傳libReveal.dylib到指定目錄class
五、同時編輯並上傳一個libReveal.plist,格式以下:監控
圖3 設定BundleID
注意,此時是能夠指定多個BundleID的,也就是說,你能夠同時監控任意多的app;再擴大一步說,若是你願意,不上傳這個libReveal.plist,你能夠監控全部app,只要你不以爲機器很慢。。。
六、re-spring或重啓iOS設備,打開你想看的app,再從Reveal界面左上角選擇要鏈接的機器,進入不一樣的頁面以後還能夠點擊右上角的刷新鈕來刷新監測的頁面信息。
圖4 看圖說話
以上是不寫一行代碼就可以查看任意app的方法,各位看別人app爽的時候,也能夠摸摸脖子想一想本身的app。
這種「高級技巧」歷來沒有被Reveal官方提起過,而是咱們接觸到Reveal以後逐步發現的。一開始的方法比較粗暴,是直接hook想看的app,把libReveal.dylib插進去;後來通過@盧明華 的進一步探索,才總結出這個更簡單粗暴的方法。
雖然Reveal是最直觀的一個工具,可是在iOS逆向這個領域,它佔的比重連1/10都不到,真正的大塊頭都有點難啃,相信各位都是理解的。
最後,相信咱們的書出來以後,會給朋友們更多深度撞擊的感受。