iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式

前言:

自从进入公司做游戏插件开发, 到目前为止大约有两个星期都在寻找如何注入第三方SDK的方法, 这里稍微提一下历程: 刚开始以自己掌握的知识, 仅是注入自己创建的SDK, 我就用同样的方法, 将第三方SDK拖入工程, 链接, 拷贝到Frameworks目录下, 一步一步操作, 使用 yololib 将库注入到mach-O文件中, 替换target文件夹下app包里的二进制文件, 运行崩溃......

这里省略5万字......

然后回到之前的操作步骤, 拷贝是否有漏勾选, 注入路径是否正确... 好吧,没有问题, 那就网上找答案, 搜索找到的很多都是注入自己工程创建的SDK, 千篇一律... 没有作用; 于是在各大技术群请教, 还是无果, 经历了辗转两个星期之后我把庆哥的wiki再仔细看了几遍, 琢磨尝试(其实是自己没细心查看到), 终于找到解决办法, 于是尝试, 成功了......

正言:

第一种方式:

1. 使用pod导入第三方SDK

如果你要导入的SDK还尚未集成到pod, 网上搜索, 有很多文章讲述 通过cocoapods集成SDK

pod init

先创建podfile文件, 在文件中修改如下配置

iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式_第1张图片

pod install

执行安装

2. 导入头文件

打开项目,新建一个头文件或者直接在 *.xm文件中导入

iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式_第2张图片
image.jpeg

3. 在hook代码中写入想要实现的代码

在hook的某个方法里面实现代码

iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式_第3张图片

在修改保证代码正常编译后,运行,到这里注入第三方SDK就已经成功了

如果想将应用打包成ipa包,供别人下载, 可看篇外话

第二种方式:

1. 使用添加target方式导入

这种方式适用于文件夹或者未上传到pod的sdk, 应用起来很灵活
iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式_第4张图片
869AC03B8F103FD840FF20B33B334DD0.jpg

将目标文件夹或者sdk复制到此路径下, 打开工程

iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式_第5张图片
AA4714B09896C187A170086CA3CA2A03.jpg

添加成功之后, 在其他类导入就可以调用了

同样运行, 将app包压缩成ipa就 可以给他人下载

篇外话

将项目打包成ipa包

  1. 运行项目, 找到app包
iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式_第6张图片

右击 show in finder, 将.app 包复制到桌面新建的Payload文件夹中

iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式_第7张图片
image.jpeg
  1. 压缩生成ipa包

zip -ry xxx.ipa Payload

image.jpeg

使用命令压缩成ipa包,放到蒲公英上就可以直接扫码下载了

重点是你通过pod导入的SDK也在hook中起效了。。。

希望对大家有帮助

感谢庆哥:https://github.com/AloneMonkey/MonkeyDev

你可能感兴趣的:(iOS逆向--使用MonkeyDev注入第三方SDK 或文件夹 到app包中的两种方式)