MonkeyDev注入动态库失败问题

2,183 阅读1分钟

我本机的环境: macOS Big Sur 11.5 Xcode 12.5.1

注入错误: 1.png

解决:使用insert_dylib来注入

1.在/opt/MonkeyDev/bin中放入insert_dylib
2.修改/opt/MonkeyDev/Tools/pack.sh

顶部加入
# insert_dylib
INSERT_DYLIB="${MONKEYDEV_PATH}/bin/insert_dylib"

在
# Inject the Dynamic Lib
注释
#"$MONKEYPARSER" install -c load -p "@executable_path/Frameworks/lib""${TARGET_NAME}""Dylib.dylib" -t "${BUILD_APP_PATH}/${APP_BINARY}"
加入
"$INSERT_DYLIB" --inplace --overwrite --all-yes "@executable_path/Frameworks/lib""${TARGET_NAME}""Dylib.dylib" "${BUILD_APP_PATH}/${APP_BINARY}"

这里可以参考issue
issue中有提供一份insert_dylib

如果依然不行,就换成optool 2.png
下载编译optool

git clone https://github.com/alexzielenski/optool.git
cd optool
git submodule update --init --recursive

打开Xcode编译出optool

3.png
把optool拷贝到/opt/MonkeyDev/bin 修改/opt/MonkeyDev/Tools/pack.sh

顶部插入
OPTOOL="${MONKEYDEV_PATH}/bin/optool"

同上面一样
修改插入动态库工具代码
"$OPTOOL" install -c load -p "@executable_path/Frameworks/lib""${TARGET_NAME}""Dylib.dylib" -t "${BUILD_APP_PATH}/${APP_BINARY}"

注入成功
5.png