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

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

1.准备tweak创建的dylib
 现在的版本应该在.theos/obj/debug/YourDylib.dylib
.theos是隐藏文件 , 在你创建的tweak工程下
2.查看你的dylib
otool -L hongbao.dylib

theos的Tweak创建的dylib怎么安装到非越狱机上详解_第1张图片
5.png
这里有对CydiaSubstrate的依赖 , 这是不行的 , 这个是theos在越狱机上特有的, 在非越狱机上需要更改此依赖

.
.
.

3.修改依赖
先上一张修改之后的依赖图片
6.png
这里面用到了libsubstrate.dylib , 这个在/opt/theos/bin 下
需要的命令:install_name_tool -change old.dylib @executable_path/new.dylib 目标文件
再来查看我们的hongbao.dylib
theos的Tweak创建的dylib怎么安装到非越狱机上详解_第2张图片
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 并且重签整个应用

你可能感兴趣的:(theos的Tweak创建的dylib怎么安装到非越狱机上详解)