前言:
為什么要用Reveal
Reveal是一個界面調試工具。使用Reveal,我們可以在iOS開發時動態地查看和修改應用程序的界面。同時我們可以利用Reveal查看其他任意app,是學習iOS界面布局的利器。比較遺憾的是,iOS系統的限制,需要越獄才能實現查看。而且越獄也是一個技術活,需要注意的細節很多,各位小伙伴要有耐心。
一.流程概覽
二.iOS設備越獄
1.越獄iOS設備
越獄的方式不算多,PP助手、愛思助手,本人用了這兩款,傻瓜式操作,一鍵越獄,各位可Google具體操作。目前是非完美越獄,每次重啟都需要重新激活。
2.越獄后會安裝Cydia,而且不能卸載
打開Cydia,搜索CydiaSubstrate并安裝,這里先不要安裝OpenSSH,不然后面SSH無法連接到設備。CydiaSubstrate是一個框架,允許第三方的開發者在系統的方法里打一些運行時補丁,擴展一些方法。只有安裝了CydiaSubstrate才會有下面要用到的目錄,/Library/MobileSubstrate/DinamicLibraries。
二.安裝Reveal
1.配置libReveal.plist及提取libReveal.dylib
具體方法相信大家都會了,本人安裝的是1.6.3版本。安裝后需要從中提取libReveal.dylib文件。方法如下圖:
為了方便操作,本人在桌面建了一個reveal文件夾,并把libReveal.dylib放到該文件夾備用。
接下來需要準備一個libReveal.plist文件。別擔心,這個文件配置很簡單,一睹芳容如下圖:
這里是微信和網易嚴選的BundleID,個人特別喜歡網易嚴選,準備好好學習下,所以就獲取了嚴選的BundleID。后續有機會我會寫下網易嚴選的布局分析。這里大伙兒可以先直接用本人的配置,我會放出來供大家下載。而如何獲取APP的BundleID,各位可以自行Google。同樣我把libReveal.plist放到桌面的reveal文件夾下。
2.將libReveal.plist、libReveal.dylib上傳到iOS設備
這里先不要上傳,需要第三部連接到設備才行。
三.通過WIFI進行SSH連接
p小心,這里有好幾個小坑。
首先在 Cydia 中搜索 Filza 并安裝,(也說可以在電腦端安裝 iFunBox 工具,但是我安裝了無法查看到文件,所有推薦安裝Filza,親測有效)。此步驟的主要目的是為了修改越獄工具中的一個文件。
①用Filza打開手機端的yalu102.app的
②直接雙擊打開dropbear.plist文件。
③替換127.0.0.1:22為22。
ps:找不到yalu102.app嗎?該文件可能在/private/var/containers/Bundle/Application/yalu102/yalu102.app/? 也可能在/private/var/containers/Bundle/Application/越獄助手/yalu102.app/? 本人推測應該就是你安裝的軟件顯明名路徑下面。如本人就在越獄助手目錄下面。
④重啟設備
ps:卸載OpenSSH ,已經安裝過的可以先卸載掉。不然無法通過 WIFI 進行 SSH 連接
⑤重啟后可以愉快的連接你的iOS設備了,這里不用USB連接
連接方法:ssh root@<#iPhone IP Address#>
默認密碼:alpine
保證電腦網絡和iOS設備在同一局域網,比如本人的IP如下:
?~ssh root@192.168.1.209
root@192.168.1.209's password:
weide-iPhone:~ root#
這里強烈建議大家修改默認密碼。
修改密碼-->依次在終端輸入:su root?
然后按提示輸入當前密碼?passwd
輸入新密碼
四.將libReveal.plist、libReveal.dylib上傳到iOS設備
這里打開Terminal,cd到桌面的reveal文件夾,執行下面的命令
scp libReveal.plist root@<手機端IP>:/Library/MobileSubstrate/DynamicLibraries/
scp libReveal.dylib root@<手機端IP>:/Library/MobileSubstrate/DynamicLibraries/
不過這里可能遇到sh: scp: command not found,注意這里是還沒有通過Cydia安裝,讓我們來梳理一下目前的情況?,F在可以通過WIFI進行SSH連接了,然后我們需要上傳libReveal.plist和libReveal.dylib到設備的/Library/MobileSubstrate/DynamicLibraries/目錄。
這里可能有兩個問題:①sh: scp: command not found;②/Library/MobileSubstrate/DynamicLibraries/目錄不存在。
第一個問題在Cydia上安裝OpenSSH就可以了,注意安裝了不要重啟,重啟之后就無法通過WIFI進行SSH連接了。
第二個問題,你通過Filza查看手機目錄,其實是存在的,只是命令cd 到Library下看不到而已。
現在執行上面的命令應該成功了。
接下來繼續保持手機是通過WIFI進行SSH連接狀態,啟動Reveal,打開微信或者網易嚴選
五.簡單總結下
①越獄,通過Cydia安裝CydiaSubstrate,產生/Library/MobileSubstrate/DynamicLibraries/目錄
②安裝Reveal,配置libReveal.plist、提交libReveal.dylib
③通過WIFI進行SSH連接,安裝OpenSSHscp上面的兩文件到/Library/MobileSubstrate/DynamicLibraries/目錄
④打開Reveal,iOS設備運行對應的APP
本文主要參考了下面文章,特此感謝
https://www.xiaolei0808.com/2017/03/15/iOS10-0-10-2jailbreak/
https://hurui.gitbooks.io/reveal-debug/content/viewOtherApp.html
http://www.lxweimin.com/p/060745d5ecc2