没有前言, 直接上技术......
这篇文章讲解的基础是在你已经重签第三方APP项目上的, 关于如何重签第三方APP -- 利用Xcode重签第三方APP
1.在已有项目中添加TARGET, 创建framework库
添加测试代码
Snip20180511_17.png
2.将framework库拷贝到Frameworks目录下
嵌入后编译程序, 显示包内容找到Frameworks文件夹, 可以看到下图已经添加第三方App包中:
Snip20180511_18.png
3.将库写入到Mach-O文件中
右击显示包内容进入到 TARGET_APP_PATH(目标APP路径)下
这里使用到工具 yololib: 下载yololib工具
对于这种常用的工具我们可以拷贝到 /usr/local/bin 路径下方便调用
写入静态库
使用MachOView查看到写入成功
Snip20180511_20.png
运行没有打印, 这是因为你写入到的Mach-O文件编译后还是被覆盖还原了, 看下面
4. 将第三方APP中的Mach-O文件替换
我们这里运行的Mach-O文件是对第三方APP重签后的文件(两份文件)
如果你是在下面这个 1. 路径中修改的Mach-O文件最终都会被 2.路径下的Mach-O文件覆盖
路径 1 下的APP包:
Snip20180511_23.png
路径2 下的ipa包:
Snip20180511_24.png
我们要在一开始将Framework写入到路径2下的APP包中 Mach-O文件中, 这样才不会被覆盖
将ipa包解压, 进入到APP包中, 重复步骤 3
完成后将 Payload 文件夹拖至 APP文件夹下压缩成 ipa包
压缩Payload
zip -ry WeChat.ipa Payload
留下压缩后的ipa包, 删除其他文件
重新运行, 打印成功!