iOS App MachO注入 - Framework注入

iOS App MachO注入 - Framework注入

Framework注入

1. 新建TARGETS

2. 添加依赖关系

  • Buildd Phases选择New Copy Files Phase新建依赖库文件,选择DestinationFramework。添加刚刚新建的frammework库
  • 验证frammewor注入库添加依赖是否成功
    编译程序,打开Products下app文件,包内容下Frameworks文件下已生成对应注入库

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

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

## 通过工具实现注入
"/${SRCROOT}"/yololib "$TARGET_APP_PATH/$APP_BINARY" "$INJECT_FRAMEWORK_RELATIVE_PATH"
  • 使用MachOView工具查看是否注入成功

4. 注入代码

HookFramework库下创文件,实现load方法,利用Method Swizzle实现修改

GitHub

GitHub Demo

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 12,176评论 3 42
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,533评论 25 709
  • 珍珠是我的朋友,几天前去银行办理理财产品,稀里糊涂的被忽悠买了一份三年的保险。回家回过神来和对方取得联系,提出合同...
    九月城池阅读 206评论 0 0
  • “你是我心中的温柔。”
    入梦安眠阅读 422评论 1 1
  • 读《朱永新教育小语》的感受是,每一句话,每一个词都非常的适合深入的思考,在思考中悟出其中所蕴含的道理。关于阅读,给...
    成长之鱼阅读 237评论 0 0