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

博客讲述了在iOS低版本设备上使用XCode12.4编译的dumpdecrypted.dylib导致的`dyld: Symbol not found: ___chkstk_darwin`错误。解决方案是下载XCode10.3,切换到该版本进行编译,然后替换原有dylib文件,以确保与iOS12系统的兼容性。操作步骤包括下载旧版XCode、切换XCode版本、重新编译dylib文件及恢复XCode配置。

6538

被折叠的 条评论
为什么被折叠?



