dumpdecrypted.dylib安装及使用
2020-03-01 本文已影响0人
村口大白杨
1、下载dumpdecrypted
下载地址:https://github.com/stefanesser/dumpdecrypted
2、打开终端,执行make
命令(要cd
到下载好的dumpdecrypted.c
所在文件夹),将dumpdecrypted.c
编译成dumpdecrypted.dylib
动态库
cd /Users/xxx/Downloads/dumpdecrypted-master
make
3、执行codesign
命令为dumpdecrypted.dylib
签名(可随意选择一个有效证书)
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、终端进入dumpdecrypted.dylib
所在的目录,使用环境变量DYLD_INSERT_LIBRARIES
将dumpdecrypted.dylib
注入到需要脱壳的可执行文件(可执行文件路径可以通过ps -A
查看获取)
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可执行文件路径
/var/root
路径下的.decrypted
文件就是脱壳后的可执行文件
使用
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
解决办法:
错误是由于dumpdecrypted.dylib
未签名导致,需要执行以下命令:
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版本与越狱手机 iOS SDK 版本不一致(我的越狱手机版本是iOS10.0.2,本机的Xcode版本是Xcode 11)。 此时我们需要下载一个老版本的Xcode9者Xcode10。然后打开终端执行如下命令(我的Xcode10是放在桌面的):
sudo xcode-select -s /Users/xxx/Desktop/Xcode10.app/Contents/Developer
然后cd
到dumpdecrypted
所在目录,删除原来生成的dumpdecrypted.dylib
和dumpdecrypted.o
文件,重新执行make
命令。