切换XCode版本,逆向DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib注入解密时报错dyld: Symbol not found: ___chkstk_darwin

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容