仅供参考,个人记录。
相关作用:抢红包、群助手等。参考TK和锅神的库便可知道。
前提: 需要一个砸壳的微信ipa
使用方式:
cd 到工程目录的Make执行得到WeChatPro.dylib动态链接库
$ make
编译出现
$ make: *** No rule to make target `/tweak.mk'. Stop.
则在命令行 设置变量:
$ export THEOS=/opt/theos
若make成功想重新make一遍需删除隐藏目录下的.theos文件夹
$ cp .theos/obj/debug/WeChatPro.dylib ~/Desktop
将生成的 dylib 文件拷贝到桌面,跟砸过壳的微信应用放到一个目录层级。
$ otool -L WeChatPro.dylib
WeChatPro.dylib (architecture armv7):
/Library/MobileSubstrate/DynamicLibraries/WeChatPro.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1349.1.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.5.2)
/usr/lib/libsubstrate.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
WeChatPro.dylib (architecture arm64):
/Library/MobileSubstrate/DynamicLibraries/WeChatPro.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1349.1.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.5.2)
/usr/lib/libsubstrate.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
若上面的/usr/lib/libsubstrate.dylib 而是 /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate的话,就说明你需要一份libsubstrate.dylib,怎么获得可以百度。然后将它与WeChatPro.dylib放在同一个目录下进入路径变更
scp root@<your.device.ip>:/usr/lib/libsubstrate.dylib ~/Desktop
$ install_name_tool -change /usr/lib/libsubstrate.dylib @loader_path/libsubstrate.dylib WeChatPro.dylib
$ otool -L WeChatPro.dylib
WeChatPro.dylib (architecture armv7):
/Library/MobileSubstrate/DynamicLibraries/WeChatPro.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1349.1.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.5.2)
@loader_path/libsubstrate.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
WeChatPro.dylib (architecture arm64):
/Library/MobileSubstrate/DynamicLibraries/WeChatPro.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 1349.1.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 1348.0.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 3600.5.2)
@loader_path/libsubstrate.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
若之前目录为/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate的,需要把上面-change后面的路径改成/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate
这里我们使用TK写好的、在Make/Others下的autoInsertDylib.sh进行注入。
sh使用方式:
打开终端
$ autoInsertDylib.sh文件的目录 ipa文件路径 dylib文件路径 即可获得注入dylib的app文件