越獄
之前越獄用的是iPhone6s iOS13的系統(tǒng),因?yàn)槭遣煌昝涝姜z所以每次重啟App都要重新再次越獄木人,否則無(wú)法打開(kāi)Cydia信柿,直接崩潰冀偶,最近我的iPhone6s完美退役了,沒(méi)辦法只能用了一臺(tái)公司的測(cè)試機(jī)渔嚷,無(wú)奈的是已經(jīng)讓我升級(jí)到最新的14.2系統(tǒng)了进鸠,好在現(xiàn)在checkra1n已經(jīng)支持了,按照官網(wǎng)步驟來(lái)就行了形病,可能需要多嘗試幾次客年,我最初越獄成功后一直沒(méi)有checkra1n
這個(gè)App,因此也無(wú)法安裝Cydia
,重試了4次才出現(xiàn)checkra1n App
,聽(tīng)說(shuō)有變磚的風(fēng)險(xiǎn)窒朋,請(qǐng)謹(jǐn)慎操作搀罢,越獄成功之后會(huì)有下圖App
脫殼
原理我就不講了,講講可用的脫殼工具有哪些侥猩。iOS12之前可以選擇dumpdecrypted.dylib
、Clutch
抵赢、Frida
等工具欺劳。iOS12以后只有Frida
了
安裝Frida
首先安裝python3
brew install python3
pip3 install frida
pip3 install frida-tools
然后下載frida-ios-dump,進(jìn)入frida-ios-dump文件夾,會(huì)發(fā)現(xiàn)里面有一個(gè)requirements.txt文件,這里面存儲(chǔ)了一些依賴
sudo pip3 install -r requirements.txt --upgrade
到此沒(méi)有意外的話Frida就已經(jīng)安裝成功了
越獄手機(jī)安裝frida
越獄手機(jī)的安裝步驟如下:
啟動(dòng) Cydia
添加軟件源 軟件源 Sources-> 編輯 Edit(左上角)-> 添加 Add(右上角)-> 輸入 https://build.frida.re/
-
通過(guò)剛才添加的軟件源安裝 frida 插件铅鲤。根據(jù)手機(jī)進(jìn)行安裝:iPhone 5 及之前的機(jī)器為 32 位划提,5s 及之后的機(jī)器為 64 位,然后根據(jù)自己的手機(jī)的處理器是A12之前(
pre-A12
),還是A12以后(A12+
)進(jìn)入 變更->找到Frida->進(jìn)入Frida 在右上角點(diǎn)擊安裝邢享,我的手機(jī)是iPhone7Plus 是A10所以選擇了pre-A12
鹏往,安裝完成后如下圖
-
通過(guò)Mac命令frida-ps -U可以檢測(cè)下是否連上如圖
安裝ssh,Cydia搜索安裝OpenSSH
鏈接手機(jī)
這里我們用USB連接骇塘,要比WIFI響應(yīng)速度快伊履,網(wǎng)絡(luò)環(huán)境無(wú)限制,脫殼會(huì)更快款违,WIFI下很容易卡住不動(dòng)唐瀑。usbmuxd
是網(wǎng)上開(kāi)源社區(qū),貌似是國(guó)外牛人傾力打造的一個(gè)專門(mén)針對(duì)該功能開(kāi)源庫(kù)插爹。
通過(guò)brew來(lái)安裝
brew install usbmuxd
usbmuxd
自帶工具iproxy
哄辣,iproxy
可以快捷的操作連接iPhone等操作。由于Mac上只支持4位的端口號(hào)赠尾,所以需要把iPhone的默認(rèn)端口22映射到Mac上力穗,相當(dāng)于建立一個(gè)Mac和iPhone之間的通道。
iproxy 2222 22
以上命令就是把當(dāng)前連接設(shè)備的22端口(SSH端口)映射到電腦的2222端口气嫁,那么想和設(shè)備22端口通信当窗,直接和本地的2222端口通信就可以了。
終端提示 waiting for connection 杉编,表示這兩個(gè)端口之間已經(jīng)可以通信了超全,保留當(dāng)前終端(如果關(guān)閉就停止端口之間的通信了)咆霜,新建另一個(gè)終端輸入,ssh -p 2222 root@127.0.0.1
ssh默認(rèn)密碼:alpine
ssh -p 2222 root@127.0.0.1
這樣我們就鏈接上手機(jī)了
脫殼
進(jìn)入frida-ios-dump文件夾嘶朱,修改dump.py
User = 'root'
Password = 'alpine'
Host = 'localhost'
Port = 2222
然后執(zhí)行,列出了所有可以被脫殼的應(yīng)用蛾坯,包括應(yīng)用的id
,應(yīng)用的名稱
疏遏,應(yīng)用的bundleId
這里為了保護(hù)我的隱私我只截取了前幾個(gè)App
python3 ./dump.py -l
這里以Boss直聘為例(僅供學(xué)習(xí)
)
python3 dump.py com.hpbr.bosszhipin
我們看到已經(jīng)生成了脫殼后的ipa應(yīng)用
然后我們解壓縮得到二進(jìn)制文件脉课,在MachOView中打開(kāi),已經(jīng)可以看到Boss直聘的MachO格式了