theos的Tweak创建的dylib怎么安装到非越狱机上详解

1,382 阅读1分钟

####两个日夜 , 终于调试出来了 , 坑, 太坑

#####1.准备tweak创建的dylib

 现在的版本应该在.theos/obj/debug/YourDylib.dylib
.theos是隐藏文件 , 在你创建的tweak工程下

#####2.查看你的dylib

otool -L hongbao.dylib

5.png
######这里有对CydiaSubstrate的依赖 , 这是不行的 , 这个是theos在越狱机上特有的, 在非越狱机上需要更改此依赖 . . .

#####3.修改依赖 ######先上一张修改之后的依赖图片

6.png
######这里面用到了libsubstrate.dylib , 这个在/opt/theos/bin 下

需要的命令:install_name_tool -change old.dylib @executable_path/new.dylib 目标文件

######再来查看我们的hongbao.dylib

7.png
######已经修改完成 . . .

###4.签名hongbao.dylib 和libsubstrate.dylib(很重要)

codesign -f -s 自己证书名称 要签名的文件

11.png

###5.添加可执行文件的依赖

./insert_dylib @executable_path/hongbao.dylib WeChat

xiaowudeMacBook-Pro:iOS逆向开发 DH$ ./insert_dylib @executable_path/hongbao.dylib WeChat
Binary is a fat binary with 2 archs.
LC_CODE_SIGNATURE load command found. Remove it? [y/n] n
LC_CODE_SIGNATURE load command found. Remove it? [y/n] n
Added LC_LOAD_DYLIB to all archs in WeChat_patched

######会生成一个WeChat_patched 这个就是修改了依赖关系的二进制文件 . . .

###6.替换

1.将 hongbao.dylib libsubstrate.dylib 还有 WeChat_patched拷贝进你的WeChat.app 
2.记住要把WeChat_patched的名字改回来

###7.生成ipa

xcrun -sdk iphoneos PackageApplication -v WeChat.app  -o ~/WeChat.ipa

###8.用iResign工具修改bundle id 并且重签整个应用