iOS逆向--Framework形式对第三方APP实现代码静态注
2018-05-11 本文已影响24人
请叫我大帅666

没有前言, 直接上技术......
这篇文章讲解的基础是在你已经重签第三方APP项目上的, 关于如何重签第三方APP -- 利用Xcode重签第三方APP
1.在已有项目中添加TARGET, 创建Framework动态库

添加测试代码

2.嵌入Framework动态库

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

3.将动态库写入到Mach-O文件中
右击显示包内容进入到 TARGET_APP_PATH(目标APP路径)下
这里使用到工具 yololib: 下载yololib工具
对于这种常用的工具我们可以拷贝到 /usr/local/bin
路径下方便调用


运行没有打印, 这是因为你写入到的Mach-O文件编译后还是被覆盖还原了, 看下面
4. 将第三方APP中的Mach-O文件替换
我们这里运行的Mach-O文件是对第三方APP重签后的文件(两份文件)
如果你是在下面这个 1. 路径中修改的Mach-O文件最终都会被 2.路径下的Mach-O文件覆盖

路径 1 下的APP包:

路径2 下的ipa包:

我们要在一开始将Framework写入到路径2下的APP包中 Mach-O文件中, 这样才不会被覆盖
-
将ipa包解压, 进入到APP包中, 重复步骤 3
-
完成后将 Payload 文件夹拖至 APP文件夹下压缩成 ipa包
压缩Payload
zip -ry WeChat.ipa Payload

- 留下压缩后的ipa包, 删除其他文件
重新运行, 打印成功!