theos的Tweak创建的dylib怎么安装到非越狱机上详解
2016-08-04 本文已影响1022人
西博尔
两个日夜 , 终于调试出来了 , 坑, 太坑
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