iOS逆向DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib注入解密时报错
dyld: Symbol not found: ___chkstk_darwin
Referenced from: dumpdecrypted.dylib (which was built for iOS 14.4)
Expected in: /usr/lib/libSystem.B.dylib
in dumpdecrypted.dylib
Abort trap: 6
原因:
我用的XCode版本为Version 12.4对应的手机系统版本为iOS14,而目前用的越狱手机的系统版本为V 12.4.9对应的XCode版本应该为Version10,
iOS14版本生成的dumpdecrypted.dylib不支持低版本的iOS12
解决方案:
下载一个XCode 版本为10,重新编译dumpdecrypted.dylib,步骤如下:
1、下载一个XCode版本10.3
2、终端命令
sudo xcode-select -s /Users/USERName/Desktop/Xcode.app/Contents/Developer
3、删除原来的dumpdecrypted.dylib和dumpdecrypted.o,重新生成dumpdecrypted.dylib
make
结果如下:
`xcrun --sdk iphoneos --find gcc` -Os -Wimplicit -isysroot `xcrun --sdk iphoneos --show-sdk-path` -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/Frameworks -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/PrivateFrameworks -arch armv7 -arch armv7s -arch arm64 -c -o dumpdecrypted.o dumpdecrypted.c
`xcrun --sdk iphoneos --find gcc` -Os -Wimplicit -isysroot `xcrun --sdk iphoneos --show-sdk-path` -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/Frameworks -F`xcrun --sdk iphoneos --show-sdk-path`/System/Library/PrivateFrameworks -arch armv7 -arch armv7s -arch arm64 -dynamiclib -o dumpdecrypted.dylib dumpdecrypted.o
4、重新用新生成的dumpdecrypted.dylib注入解密即可
5、最后恢复原来的XCode配置
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
最后总结即如下
//先下载低版本XCode后运行如下命令
sudo xcode-select -s /Users/Username/Desktop/Xcode.app/Contents/Developer
//重新编译生成dumpdecrypted.dylib后,再恢复原来XCode配置
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer