iOS逆向--注入framework库到app

iOS逆向--注入framework库到app_第1张图片

没有前言, 直接上技术......

这篇文章讲解的基础是在你已经重签第三方APP项目上的, 关于如何重签第三方APP -- 利用Xcode重签第三方APP

1.在已有项目中添加TARGET, 创建framework库

iOS逆向--注入framework库到app_第2张图片

添加测试代码

iOS逆向--注入framework库到app_第3张图片
Snip20180511_17.png

2.将framework库拷贝到Frameworks目录下

iOS逆向--注入framework库到app_第4张图片

嵌入后编译程序, 显示包内容找到Frameworks文件夹, 可以看到下图已经添加第三方App包中:

iOS逆向--注入framework库到app_第5张图片
Snip20180511_18.png

3.将库写入到Mach-O文件中

右击显示包内容进入到 TARGET_APP_PATH(目标APP路径)下

这里使用到工具 yololib: 下载yololib工具
对于这种常用的工具我们可以拷贝到 /usr/local/bin 路径下方便调用

iOS逆向--注入framework库到app_第6张图片
写入静态库

使用MachOView查看到写入成功
iOS逆向--注入framework库到app_第7张图片
Snip20180511_20.png

运行没有打印, 这是因为你写入到的Mach-O文件编译后还是被覆盖还原了, 看下面

4. 将第三方APP中的Mach-O文件替换

我们这里运行的Mach-O文件是对第三方APP重签后的文件(两份文件)

如果你是在下面这个 1. 路径中修改的Mach-O文件最终都会被 2.路径下的Mach-O文件覆盖

iOS逆向--注入framework库到app_第8张图片

路径 1 下的APP包:

iOS逆向--注入framework库到app_第9张图片
Snip20180511_23.png

路径2 下的ipa包:

iOS逆向--注入framework库到app_第10张图片
Snip20180511_24.png

我们要在一开始将Framework写入到路径2下的APP包中 Mach-O文件中, 这样才不会被覆盖

  1. 将ipa包解压, 进入到APP包中, 重复步骤 3

  2. 完成后将 Payload 文件夹拖至 APP文件夹下压缩成 ipa包
    压缩Payload

zip -ry WeChat.ipa Payload

iOS逆向--注入framework库到app_第11张图片
  1. 留下压缩后的ipa包, 删除其他文件

重新运行, 打印成功!

你可能感兴趣的:(iOS逆向--注入framework库到app)