1.解压 ipa,打开name.app包内容
2.微信是多targets 的App,每个taget都要给重新签名。或者直接把其它targets删除。(Watch,PlugIns 这两个文件夹)。
3.在name.app 加入(基础库)libsubstrate.dylib、(自己生成的动态库,由IOSOpendev生成)hook.dylib,并把二进制文件替换为砸壳后的文件(注意对应cpu架构,否者安装或会闪退)。
4.查看hook.dylib的依赖库。
tool -L 路径+hook.dylib 查看依赖库。
如果依赖的有/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate。则修改依赖为@loader_path/libsubstrate.dylib。
命令:
install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib 路径+hook.dylib。
5.给hook.dylib 重签名。(只需要给hook.dylib重签)
codesign -f -s "证书" 路径+hook.dylib
6.用yololib 注入hook.dylib到二进制文件。下载yololib。(注意路径问题)
注入命令:
./yololib WeChat.app/WeChat hook.dylib
7.下载iOS App Signer 选择证书 重签名,打包。(可选hoc证书,或企业证书)。
各种报错解决:libsubstrate.dylib版本报错,替换为其它版本libsubstrate.dylib即可。
http://www.jianshu.com/p/262b9849fa10
重签名工具:https://github.com/Urinx/iOSAppHook/releases
其它工具:https://pan.baidu.com/s/1o8xZIZ4