Dylib注入
2018-05-11 本文已影响0人
Fendouzhe
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.运行项目