1. 创建Dylib注入项目,在.xcodeproj同级目录创建APP文件,放入微信ipa包,Build Phase添加Run Script,将脚本路径拖入Run Script.
image.png2. 创建一个dylib库
1.png2.png
3. 选择scheme 为动态库,运行编译
1.png2 Show in Finder 显示位置.png
4. Build Phases 添加Copy Files
1.png 2.png 3.png 4.png5. 选择scheme 重新改回去,运行报错
1.png 2.png解决方法1:将库拷贝进工程app同级目录
1.png 2.png 3.png解决方法2:修改查找的设置路径(Debug和Release都改成工程app路径目录Debug-iphoneos )
1.修改工程加载路径.png 2.修改动态库加载路径.png 3.重选编译.png 4.有了.png 5.重选运行.png6. 此时库还没有注入Macho文件,需要写脚本注入在XcodeApp.sh加入注入脚本
# ---------------------------------------------------
# 7. 注入我们编写的动态库
echo "开始注入"
# 需要注入的动态库的路径 这个路径我就写死了!
INJECT_FRAMEWORK_RELATIVE_PATH="Frameworks/libLurongHook.dylib"
#
## 通过工具实现注入
yololib "$TARGET_APP_PATH/$APP_BINARY" "$INJECT_FRAMEWORK_RELATIVE_PATH"
echo "注入完成"
1.png
Command+B 然后 Command+9看打印信息:
2.png
用MachoView打开app里面的Macho文件Wechat,找到load Commands下方就可以看见库导进去了:
image.png image.png
Command+B 运行报架构错误:
查看库的架构
file+库名字及后缀
:image.png
7. 前面的都是错误演示,我们现在重新从创建dylib库开始
1.首先将库删除:
1.png 2.png 3.png
2.重新创建同名的库进行前面第1步设置脚本和第4步的操作,然后设置Base SDK:
1.png 2.变化.png3.设置Code Sign Identity为iPhone Developer:
image.png
4.编译库,看app同级目录,已经自动导入了创建的库
image.png
5.运行项目
网友评论