1舱沧、下載dumpdecrypted
下載地址:https://github.com/stefanesser/dumpdecrypted
2、打開終端,執(zhí)行make
命令(要cd
到下載好的dumpdecrypted.c
所在文件夾)土居,將dumpdecrypted.c
編譯成dumpdecrypted.dylib
動態(tài)庫
cd /Users/xxx/Downloads/dumpdecrypted-master
make
3桑滩、執(zhí)行codesign
命令為dumpdecrypted.dylib
簽名(可隨意選擇一個(gè)有效證書)
security find-identity -v -p codesigning
終端打印信息:鑰匙串中安裝的證書
codesign --force --verify --verbose --sign "iPhone Developer: Reck Wang (8GXXXXXXXG)" dumpdecrypted.dylib
終端打印信息:簽名成功
4、把簽名后的dumpdecrypted.dylib
拷貝到我們iPhone的/var/root
路徑下(如果是root用戶颠放,建議放/var/root目錄)
5排惨、終端進(jìn)入dumpdecrypted.dylib
所在的目錄,使用環(huán)境變量DYLD_INSERT_LIBRARIES
將dumpdecrypted.dylib
注入到需要脫殼的可執(zhí)行文件(可執(zhí)行文件路徑可以通過ps -A
查看獲扰鲂住)
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可執(zhí)行文件路徑
/var/root
路徑下的.decrypted
文件就是脫殼后的可執(zhí)行文件
iFunBox
使用
otool -l
查看是否脫殼成功暮芭,cryptid = 0脫殼成功:可能會遇到的問題:
- 問題1:
~ root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/58A37639-F5A4-41FE-B975-F3E11B11B360/ting.app/ting
dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find:
dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'
Abort trap: 6
解決辦法:
錯(cuò)誤是由于dumpdecrypted.dylib
未簽名導(dǎo)致,需要執(zhí)行以下命令:
security find-identity -v -p codesigning
codesign --force --verify --verbose --sign "iPhone Developer: Reck Wang (8GXXXXXXXG)" dumpdecrypted.dylib
- 問題2:
~ root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/58A37639-F5A4-41FE-B975-F3E11B11B360/ting.app/ting
dyld: Symbol not found: ___chkstk_darwin
Referenced from: dumpdecrypted.dylib
Expected in: /usr/lib/libSystem.B.dylib
in dumpdecrypted.dylib
Segmentation fault: 11
解決辦法:
原因是Xcode SDK版本與越獄手機(jī) iOS SDK 版本不一致(我的越獄手機(jī)版本是iOS10.0.2欲低,本機(jī)的Xcode版本是Xcode 11)辕宏。 此時(shí)我們需要下載一個(gè)老版本的Xcode9者Xcode10。然后打開終端執(zhí)行如下命令(我的Xcode10是放在桌面的):
sudo xcode-select -s /Users/xxx/Desktop/Xcode10.app/Contents/Developer
然后cd
到dumpdecrypted
所在目錄砾莱,刪除原來生成的dumpdecrypted.dylib
和dumpdecrypted.o
文件瑞筐,重新執(zhí)行make
命令。