環境搭建
一、越獄環境
1.1 iOS越獄裝置的選擇
通過愛思助手檢視哪些系統支援越獄,最好選擇可刷機可越獄版本,選擇支援ARM64架構的裝置(iPhone5s及以上),選擇iOS9.0及以上版本,因為很多App不能在iOS9之前的版本執行,優先考慮“完美越獄”的裝置,因為它們重啟後不需要重新越獄。
隨著BootROM(checkm8)
漏洞的公開,基於該漏洞的“永久越獄”工具checkra1n
悄然釋出,支援iPhone5~iPhoneX之間的任何裝置。因為BootROM
漏洞無法修復,所以該工具也能支援iOS12、iOS13以及未來所有版本裝置的越獄。在官網可以下載越獄工具,喜歡高版本系統的讀者可以考慮。
1.2 必備小工具
將手機越獄後,需要安裝一些必備的工具來增強可操控性。相信讀者學會如何在Cydia
中搜尋安裝軟體之後,下面的操作應該已經非常熟練。
-
Apple File Conduit "2"
Apple File Conduit "2"
又稱afc2add
(簡稱AFC2
).用於啟用助手類工具對iOS裝置所有路徑的訪問許可權。為了更好的進行iOS逆向研究,請務必安裝此外掛。 -
adv-cmds
在手機上執行最頻繁的應該就是
ps
命令了,它用來檢視當前執行程式的PID
以及應用的路徑。但這個命令並不是系統自帶的。如果嘗試在裝置執行ps
命令時出現-sh:ps:command not found
的提示則需要先安裝adv-cmds
。 -
AppSync Unified
AppSync Unified
是iOS裝置越獄後的必備補丁,用來繞過系統對應的簽名驗證,可以隨意安裝和執行脫殼後的ipa
。
建議新增外掛作者的源(網址為:https://cydia.akemi.ai/
),搜尋AppSync Unified
即可安裝,該外掛支援iOS5~iOS13版本系統。 -
Filza File Manager
Filza File Manager
是手機上的檔案管理器(簡稱Filza
),用來瀏覽手機檔案的許可權等,支援iOS7~iOS13系統。 -
NewTerm2
NewTerm2
是一款能執行在手機上的終端工具,可以執行各種命令、下載檔案、編輯檔案等。NewTerm2
能完美支援iOS7~iOS13系統,新增源http://cydia.hbang.ws/
,搜尋NewTerm2
即可安裝。
二、SSH配置
Secure Shell(SSH)
是建立在應用層基礎上的安全協議,用於計算機之間的加密登入,可以在不安全的網路中為網路伺服器提供安全的傳輸環境。SSH
最初是UNIX
系統上的程式,後來迅速擴充套件到其他操作平臺。
2.1 安裝OpenSSH
OpenSSH
的主要用途是方便在Windows
或者MacOS
上遠端輸入命令操作iOS裝置。
-
安裝
如果當前的iOS裝置系統為iOS11.0~iOS12,越獄工具
Electra
、Chimera
已經內建OpenSSH
,並預設開放22埠,讀者可以直接跳過下面OpenSSH
安裝部分。
如果當前的越獄裝置沒有安裝OpenSSH
,則需要在Cydia
裡面搜尋並安裝OpenSSH
。 -
測試
依次開啟iOS裝置的“設定”->"Wifi"頁面,再選擇已經連線的網路,可以看到裝置的
ip
地址,(注意:mac需要和iOS裝置連線同一網路)然後在Mac
終端輸入:ssh root@xxx.xxx.xx.xx
按
Enter
鍵,此時提示輸入密碼(預設為alpine
),輸入後順利登入(注意,這裡輸入密碼是無任何顯示的)
2.2 免密碼登入
每次連線SSH
的時候都提示輸入密碼,是不是覺得非常麻煩呢?下面介紹一種免密碼登入的方法。
-
1、生成金鑰對
ssh-keygen -t rsa
-
2、將公鑰上傳到iOS裝置
scp ~/.ssh/id_rsa.pub root@192.168.1.201:/var/root/.ssh/authorized_keys
然後輸入密碼,既可以完成複製。
現在再次嘗試SSH
連線,無須輸入密碼就能直接登入了。
如果iOS裝置上不存在/var/root/.ssh目錄,則需要先登入裝置建立目錄:ssh root@192.168.1.201 cd /var/root/ mkdir .ssh
2.3 USB連線裝置
前面講的都是用Wifi
方式連線裝置,這樣有個很大的弊端,即如果網路不暢通,使用起來就會非常不方便,尤其是後面動態除錯的時候就會很卡頓。本節所講的USB
連線方式就可以解決這個問題。
下面的步驟將當前連線的iOS裝置的22埠對映到了Mac
的2222埠。
-
1、安裝
usbmuxd
brew install usbmuxd
-
2、埠對映
iproxy 2222 22 [裝置UDID]
如果有多臺iOS裝置連線到了同一臺
mac
,則需要在最後加上需要對映裝置的UDID
引數,反之則省略。 -
3、連線到裝置
需要另外開啟一個終端用2222埠連線:
ssh -p 2222 root@127.0.0.1
2.4 修改預設密碼
越獄後iOS裝置就擁有了最高許可權,但是root
使用者預設密碼('alpine')是總所周知的,如果開啟了SSH
而不修改預設密碼的話,一旦裝置暴露在網路中就很容易被入侵,為了安全考慮,建議立即改掉。
SSH
連線iOS裝置後,修改root
使用者預設密碼的具體方法如下。
passwd
然後按照提示輸入新密碼,確認新密碼即可。
如果是修改mobile
使用者的預設密碼,則將命令改為passwd mobile
,其他操作不變。若使用手機終端(NewTerm 2
)來進行操作,則需要先輸入su
命令提升到root
許可權才能修改成功。
2.5 使用scp傳輸檔案
在配置好SSH
之後,可以使用scp
工具在iOS裝置和mac
之間互相傳輸檔案。mac
系統自帶了scp
,對於非iOS10的系統,越獄工具也整合了scp
,對於iOS10的系統,yalu
越獄工具並沒有提供scp
工具,所以執行命令時會出現如下錯誤提示:
sh: scp: commond not found
解決方法:新增源(網址為:https://coolstar.org/publicrepo/),搜尋scp
安裝即可。
scp
的使用方法很簡單,具體如下:
#把mac上的“chinapyg.txt”檔案複製到iOS裝置的/tmp/目錄
scp -p2222 ./chinapyg.txt root@localhost:/tmp/
#把iOS裝置tmp目錄下的“chinapyg.txt”檔案複製到mac
scp -p2222 root@localhost:/tmp/chinapyg.txt ./