Reveal
Reveal brings powerful runtime view debugging to iOS developers。
基于運行時的視圖調試工具,這跟xcode提供功能相比:一不用中斷運行調試,使用流暢;二視圖搜索定位相當方便。當然在如今Hydrid混合開發大盛的情況下,似乎這些都微不足道。
工具環境
- Reveal15:荔枝數碼,正版軟件代理,價格優惠;
- iOS9.0.2:某寶2k多大洋弄了臺6SP,機器不錯;
- PP助手Mac版:比起iTools的收費你會更喜歡;
- Xcode9.4:或許你喜歡AppCode吧,我是余糧不足了。
工程集成
官方提供了多種使用方案,以后就直接到官網上看引導,度娘很多都是過期文案,半天下來玩不轉:
image
總體分為,兩種方式:
- 工程入侵方案:cocoapods(相當便利),linking庫導入
- 工程Breakpoint調試:相當我(你會喜歡這種方式的)。
越獄環境查看其它App UI結構
準備環境:打開Cydia一波搜索安裝
- OpenSSH:可以讓你在PC或 Mac上遠程輸入命令操作 iOS 設備
- Cydia Substrate:Hooker工具
- Reveal2Loader(http://cydia.saurik.com/package/com.zidaneno5.reveal2loader/):Cydia有時候會搜索不出來,可以在軟件源BigBoss插件下查找
- RevealServer:打開Reveal,選擇help->Show Libraries in Finder->iOS-Libraries->RevealServer.framework,將其copy到桌面或者記錄下路徑:
/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework
簡單講一下我所理解的運行原理(大神勿噴):在越獄環境下,通過配置DynamicLibraries動態庫將RevealServer添加到系統服務中,實現動態庫dylib注入,Hacker到其它App進行視圖監聽。實踐兩種方式:
1、逆向大神們的命令行
1.1、OpenSSH連接測試:
iOS設備安裝好了OpenSSH后,連接wifi與PC保持同一局域網下,找到iOS設備wifi連接分配的iP地址,打開終端,
ssh root@192.168.xx.xx
彈出password時輸入:alpine(通用),按enter
$ ssh root@192.168.31.199
root@192.168.31.199's password:
TQuerySky:~ root#
連接成功后,就能訪問到iOS系統的root目錄,這樣表示你的OpenSSH安裝成功了。
1.2、將RevealServer文件copy到iOS設備上,注意修改為自己的設備iP:
scp -r /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework root@192.168.xx.xx:/System/Library/Frameworks
1.3、使用Reveal2Loader設置需要查看的App,設備->Reveal->Enabled Applications
1.4、最后,重啟越獄機:執行 killall SpringBoard或者重啟設備
當不行時,檢查下iOS設備下/System/Library/目錄有沒RHRevealLoader文件夾,沒用就新建一個
2、菜鳥們的GUI(PP助手)各種拖
- 打開以下目錄 /System/Library/Frameworks,將RevealServer拷貝進去;
- 使用Reveal2Loader設置需要查看的App,設備->Reveal->Enabled Applications;
-
重啟設備。
image
最終效果(圖標顯示才算成功):
image