1.需要一臺(tái)越獄的iPhone手機(jī)
最好是完美越獄的,越獄比較簡(jiǎn)單作箍,直接下載愛(ài)思助手或者是PP助手都可以一鍵越獄,愛(ài)思助手支持的iOS版本要高些。如果手機(jī)桌面上有Cydia就表示越獄成功了芹敌。
打開(kāi)Cydia有可能會(huì)出現(xiàn)無(wú)法訪問(wèn)網(wǎng)絡(luò)的情況
2.Cydia添加源
http://apt.25pp.com/
http://apt.saurik.com
http://cydia.angelxwind.net/
http://apt.thebigboss.org/repofiles/cydia
3.手機(jī)安裝(由于手機(jī)版本問(wèn)題有些插件不支持,找到相同功能插件就可以了)
Apple File Conduit "2"
可以訪問(wèn)整個(gè)iOS設(shè)備的文件系統(tǒng)
類(lèi)似的補(bǔ)丁還有:afc2垮抗、afc2add
AppSync Unified
可以繞過(guò)系統(tǒng)驗(yàn)證氏捞,隨意安裝、運(yùn)行破解的ipa安裝包
Filza File Manager
可以在iPhone上自由訪問(wèn)iOS文件系統(tǒng)
類(lèi)似的還有iFile冒版、File Browser
PP助手
可以下載很多應(yīng)用
OpenSSH
使用OpenSSH遠(yuǎn)程登錄手機(jī):
1.SSH是通過(guò)TCP協(xié)議通信液茎,所以要確保Mac和iPhone在同一局域網(wǎng)下
2.Mac的終端輸入ssh 賬戶名@服務(wù)器主機(jī)地址(ssh root@10.1.1.168
)默認(rèn)密碼alpine
登錄成功后就可以使用終端命令行操作iPhone
3.退出登錄命令是exit
vim
在終端編輯文件內(nèi)容
adv-cmds
ps命令是process status的縮寫(xiě),使用ps命令可以列出系統(tǒng)當(dāng)前的進(jìn)程
列出所有的進(jìn)程ps –A
搜索關(guān)鍵詞 ps –A | grep 關(guān)鍵詞
Cycript
可以用來(lái)探索、修改捆等、調(diào)試正在運(yùn)行的Mac\iOS APP
http://www.cycript.org/manual/
cycript -p 進(jìn)程ID
或者 cycript -p 進(jìn)程名稱(chēng)
常用:
- Application對(duì)象:
UIApp
- 已加載的所有OC類(lèi) :
ObjectiveC.classes
- 用內(nèi)存地址獲取對(duì)象:
#內(nèi)存地址
- 查看對(duì)象的所有成員變量:
*對(duì)象
- 遞歸打印view的所有子控件(跟LLDB一樣的函數(shù)):
view.recursiveDescription().toString()
- 篩選出某種類(lèi)型的對(duì)象:
choose(UIViewController)
choose(UITableViewCell)
封裝的腳本https://github.com/CoderMJLee/mjcript
Reveal Loader
Reveal是一款調(diào)試iOS程序UI界面的神器
https://revealapp.com
1.安裝完Reveal Loader后滞造,打開(kāi)【設(shè)置】->【Reveal】選擇需要調(diào)試的App,選擇需要調(diào)試的APP
2.找到Mac的Reveal中的RevealServer文件栋烤,覆蓋iPhone的/Library/RHRevealLoader/RevealServer文件
3.重啟SpringBoard或者重啟手機(jī)
重啟SpringBoard:killall SpringBoard
重啟手機(jī):reboot
Clutch
脫殼工具
https://github.com/KJCracks/Clutch
1.下載最新的Release版: https://github.com/KJCracks/Clutch/releases
2.建議去掉版本號(hào)谒养,改名為Clutch
3.將Clutch文件拷貝到iPhone的/usr/bin目錄
4.如果在iPhone上執(zhí)行Clutch指令,權(quán)限不夠班缎,賦予“可執(zhí)行的權(quán)限”
chmod +x /user/bin/Clutch
列出已安裝的APP:Clutch -i
輸入APP序號(hào)或者Bundle Id進(jìn)行脫殼操作:Clutch -d APP序號(hào)或BundleId
dumpdecrypted
脫殼工具
https://github.com/stefanesser/dumpdecrypted/
1.下載源代碼蝴光,然后在源代碼目錄執(zhí)行make指令進(jìn)行編譯她渴,獲得dylib動(dòng)態(tài)庫(kù)文件
2.將dylib文件拷貝到iPhone上(如果是root用戶达址,建議放/var/root目錄)
3.終端進(jìn)入dylib所在的目錄
4.使用環(huán)境變量DYLD_INSERT_LIBRARIES
將dylib注入到需要脫殼的可執(zhí)行文件(可執(zhí)行文件路徑可以通過(guò)ps -A
查看獲取)
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可執(zhí)行文件路徑
.decrypted
文件就是脫殼后的可執(zhí)行文件
在使用過(guò)程中趁耗,可能會(huì)遇到以下錯(cuò)誤
could not load inserted library 'dumpdecrypted.dylib' because no suitable image found......
原因:對(duì)dylib所在的文件夾權(quán)限不夠解決方案:將dylib放在用戶所在文件夾沉唠,比如
如果是root用戶,請(qǐng)將dylib放在/var/root
目錄
如果是mobile用戶苛败,請(qǐng)將dylib放在/var/mobile
目錄
通常情況下
通過(guò)Cydia安裝的安裝包是deb格式的(結(jié)合軟件包管理工具apt)
通過(guò)PP助手安裝的安裝包是ipa格式的
如果通過(guò)Cydia源安裝deb失敗可以先從網(wǎng)上下載deb格式的安裝包然后將deb安裝包放到/var/root/Media/Cydia/AutoInstall
重啟手機(jī)满葛,Cydia就會(huì)自動(dòng)安裝deb
4.使用OpenSSH遠(yuǎn)程登錄手機(jī)
wifi登陸
SSH是通過(guò)TCP協(xié)議通信,所以要確保Mac和iPhone在同一局域網(wǎng)下
終端輸入ssh 賬戶名@服務(wù)器主機(jī)地址
例如ssh root@10.1.1.168
(這里的服務(wù)器是手機(jī))
初始密碼alpine
退出登錄命令是exit
登錄成功后就可以使用終端命令行操作iPhone
SSH - 基于密鑰的客戶端認(rèn)證
1.在客戶端生成一對(duì)相關(guān)聯(lián)的密鑰
終端命令ssh-keygen
生成的公鑰:~/.ssh/id_rsa.pub
生成的私鑰:~/.ssh/id_rsa
2.把客戶端的公鑰內(nèi)容追加到服務(wù)器的授權(quán)文件(~/.ssh/authorized_keys
)尾部
ssh-copy-id root@服務(wù)器主機(jī)地址
需要輸入root用戶的登錄密碼
ssh-copy-id會(huì)將客戶端~/.ssh/id_rsa.pub
的內(nèi)容自動(dòng)追加到服務(wù)器的~/.ssh/authorized_keys
尾部
這個(gè)過(guò)程不影響mobile用戶罢屈,只解決了root用戶的登錄問(wèn)題
如果配置了免密碼登錄后嘀韧,還是需要輸入密碼,需要在服務(wù)器端設(shè)置文件權(quán)限
chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
通過(guò)USB進(jìn)行SSH登錄
Mac上有個(gè)服務(wù)程序usbmuxd(它會(huì)開(kāi)機(jī)自動(dòng)啟動(dòng))缠捌,可以將Mac的數(shù)據(jù)通過(guò)USB傳輸?shù)絠Phone
/System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd
1.下載usbmuxd工具包(下載v1.0.8版本锄贷,主要用到里面的一個(gè)python腳本:tcprelay.py)
https://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz
2.將iPhone的22端口(22端口提供SSH服務(wù))映射到Mac本地的10010端口
cd ~/Documents/usbmuxd-1.0.8/python-client
python tcprelay.py -t 22:10010
(不一定非要10010端口,只要不是保留端口就行)要想保持端口映射狀態(tài)曼月,不能終止此命令行
端口映射完畢后谊却,以后如果想跟iPhone的22端口通信,直接跟Mac本地的10010端口通信就可以了
3.新開(kāi)一個(gè)終端
ssh root@localhost -p 10010
ssh root@127.0.0.1 -p 10010
(127.0.0.1本機(jī)虛擬網(wǎng)卡的IP地址)
usbmuxd會(huì)將Mac本地10010端口的TCP協(xié)議數(shù)據(jù)哑芹,通過(guò)USB連接轉(zhuǎn)發(fā)到iPhone的22端口
遠(yuǎn)程拷貝文件也可以直接跟Mac本地的10010端口通信
scp -P 10010 ~/Desktop/1.txt root@localhost:~/test
將Mac上的~/Desktop/1.txt
文件炎辨,拷貝到iPhone上的~/test
路徑
4.由于每次都需要輸入ssh root@localhost -p 10010
太麻煩,可以在當(dāng)前用戶文件夾下建立usb.sh和login.sh腳本
usb.sh
cd ~
vim usb.sh
插入python ~/Documents/iOSReverse/tools/usbmuxd/tcprelay.py -t 22:10010
(tcprelay.py的文件路徑)
保存退出esc ->:-> wq
login.sh
cd ~
vim login.sh
插入ssh -p 10010 root@localhost
保存退出esc ->:-> wq
現(xiàn)在可以直接執(zhí)行sh usb.sh
,sh login.sh
就可以了
5.mac安裝
1.iFunBox
文件管理系統(tǒng)
2.PP助手
自由安裝海量APP
3.Reveal
建議下載至少Reveal4版本聪姿,支持USB連接調(diào)試碴萧,速度快
4.MachOView
Macho文件瀏覽器
5.Hopper Disassembler 4
二進(jìn)制反編譯工具
差不多越獄環(huán)境配置完畢了,現(xiàn)在可以在iFunBox里面看到iphone里面的文件末购,并在PP助手上上下載APP勿决。
喜歡就請(qǐng)點(diǎn)個(gè)贊??~