iOS App MachO注入 - Dylib注入

2018/5/12 posted in  逆向与安全

dylib 注入

1. 新建TARGETS

2. 添加依赖关系

  • Buildd Phases选择New Copy Files Phase新建依赖库文件,选择DestinationFramework。添加刚刚新建的frammework库

3. 修改平台

  • 修改ArchitecturesiOS

  • 修改SigningiOS

4. 修改MachO文件的Load Commands(将Dylib库注入到可执行文件中)

  • 使用yololib工具注入(手动)
$ yololib WeChact Frameworks/libHookDylib.dylib
  • 使用yololib工具注入(脚本)
# 需要注入的动态库的路径(写死了)
INJECT_FRAMEWORK_RELATIVE_PATH="Frameworks/libHookDylib.dylib"

## 通过工具实现注入
"/${SRCROOT}"/yololib "$TARGET_APP_PATH/$APP_BINARY" "$INJECT_FRAMEWORK_RELATIVE_PATH"

5. 注入代码

实现load方法,利用Method Swizzle实现修改

GitHub

GitHub Demo