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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值