美文网首页
iOS逆向工程 -- 小黑盒的破解

iOS逆向工程 -- 小黑盒的破解

作者: 怀心逝水 | 来源:发表于2018-05-27 15:16 被阅读173次

    逆向 破解APP


    小黑盒破解目标:

    在特定的页面中插入自己写的页面(如在头条的新闻详情页中插入自己放进去的广告页面
    

    效果图:


    IMG_0087.PNG

    如果对本教程中终端的命令行或是工具的使用不熟悉的话,可以看看我的另一篇关于逆向工程的文章。
    逆向的基础

    小黑盒破解流程:

    获取APP解密后的可执行文件

    /var/containers/Bundle/Application/1312D372-0E9F-4CF3-9130-A365C08897DE/xiaoheihe.app/xiaoheihe

    找到可执行文件xiaoheihe并看其是否是解密后的文件

    otool -l xiaoheihe | grep cryptid
    
        cryptid 0
        cryptid 0
    

    当然为什么会有两个cryptid 一个是armv7的构架下的,一个是arm64构架下的。

    至于怎么解密,可以从越狱版的PP助手上下载app,或是在越狱手机中的Cydia中搜索本公司的“兔兔破解助手”。

    解密成功后,将可执行文件放入到Hopper工具中进行二进制编译。

    查看APP的图层结构

    用查看图层工具进行对app图层界面中控制器的获取。

    可利用的图层工具有:
    Reveal
    FLEXLoader
    至于这两个工具的安装和用法,你可以看我的这篇文章。
    图层工具的使用

    通过工具可以知道控制器是:MaxWebBBSNewsViewController

    那么下面就是在hopper中搜索MaxWebBBSNewsViewController可以看到里面有很多方法
    但我们需要的是hook他的ViewDidLoad即可

    Hook操作

    预想:
    需要在这个hook方法中的操作有

    • 创建广告需要展示的View
    • 该广告可能目前就是一条固定的url
    • 在该控制器中的webView上添加我们的广告页面
    • 在退出该控制器后我们需要remove掉广告view(当然再次进入详情页后还是得出现广告页面)

    接下来的就是在xcode中创建我们的动态库插件了

    动态库里面的步骤:

    • 动态库的入口申明需要hook的方法
    • 在hook的方法中首先执行官方APP自己的方法,之后添加我们需要完成的方法
    • 代码的编写,编译运行

    github代码

    动态库的注入

    注入(必须在最终的文件夹下)
    ./yololib xiaoheihe xiaoheiheLib.dylib

    当然这里需要把我们需要的注入工具拷贝到xiaoheihe.app所在的文件目录下,同时cd到这个目录下,执行上面的命令。
    至于工具的使用可以看看我的这篇文章,里面会介绍到我们注入的会有那些方法或是工具。
    

    动态库的注入工具

    APP的重签名

    这里我们需要注意的坑有:

    • 在xiaoheihe.app 中下建立embedded.mobileprovision证书的描述文件,当然这个描述文件和重签名时候用到的描述文件相同的bundleId
    • 我们是在Payload下压缩文件,并改掉压缩后的文件类型.ipa
    image.png

    当然重签名你可以使用工具iOS App Singer,这个需要编译运行后即可。

    之后需要用到时PP助手。

    第一次在手机上安装,打开注入后的小黑盒,然而瞬间崩溃了

    然后这种查找问题,发现是命令的问题,动态库应该是xiaoheiheLib.dylib
    之后再注入,点开后并没有进入相应的hook方法中,然后又是各种找问题,发现在hook的入口必须

    CHLoadLateClass(MaxWebBBSNewsViewController);
    CHHook0(MaxWebBBSNewsViewController, viewDidLoad);
    

    并且在编译动态库的时候最好选择Generic iOS Device,然后在编译获取到动态库,在注入签名,重新打开后。

    成果:

    在头条的新闻详情页面中出现了我们注入进去的页面,退出详情页后,不显示广告页面。

    相关文章

      网友评论

          本文标题:iOS逆向工程 -- 小黑盒的破解

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