美文网首页iOS 逆向开发
iOS逆向--Framework形式对第三方APP实现代码静态注

iOS逆向--Framework形式对第三方APP实现代码静态注

作者: 请叫我大帅666 | 来源:发表于2018-05-11 17:32 被阅读24次

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

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

    1.在已有项目中添加TARGET, 创建Framework动态库

    添加测试代码

    Snip20180511_17.png

    2.嵌入Framework动态库


    嵌入后编译程序, 显示包内容找到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文件中, 这样才不会被覆盖

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

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

    zip -ry WeChat.ipa Payload

    1. 留下压缩后的ipa包, 删除其他文件

    重新运行, 打印成功!

    相关文章

      网友评论

      • 哼哈猿:博主, 这一篇文章是先将应用重签名(在ios 利用xcode重签名)后, 然后再加入注入Framework吧?! 第4步 路径1: 是你在项目里新建了一个APP文件夹 把要注入的ipa文件放进去. 路径2: 就是项目的默认ipa文件. 编译之后只能将Framework注入到路径2的项目ipa文件吧! 路径1是如何注入的? 手动将Framework复制过去吗?
        请叫我大帅666:@笑你个大麻花 好, 我看看这个
        请叫我大帅666:将framework链接到app包里面后, 再注入到二进制文件里面, 重签名是生成新的包; 最近在做游戏插件的项目要集成第三方SDK, 我也在寻找方法, 注入自己创建的动态库是没有问题的, 但是注入第三方SDK就出问题了, 研究了好久还是有问题
        哼哈猿:建议大家看这个视频 https://www.bilibili.com/video/av24015866/ 会更加的理解

      本文标题:iOS逆向--Framework形式对第三方APP实现代码静态注

      本文链接:https://www.haomeiwen.com/subject/nlifdftx.html