逆向破解MacOS App

作者: iLeooooo | 来源:发表于2018-09-07 14:15 被阅读88次

    昨天在逛简书的时候,无意间看到一款还算好用的MacOS App,Manico,在Mac App Store上可以免费下载。也可以免费使用。就是用几次就会弹出一个感谢试用,要继续使用的话,就要内购,否则这个框就会经常谈出来。

    App Store,下载下来,后面是需要内购的
    Manico

    使用几次之后就会弹出内购弹框


    内购

    好了进入今天的正题,最近手头比较紧张,舍不得花钱(¥25)
    我们的目标是不花钱把这个框给去掉,正常使用。

    前段时间刚学习了一下逆向,今天来尝试一下,我本来以为这个跟iOS App一样,如果更改了.app包里面的文件之后,App会运行不了,要进行重签名的,后面发现不用重签名,修改了二进制文件之后,重新替换一下就行了,恩,比较简单。

    我原本的思路:

    1. 打开包,获取可执行文件(Mac-o)
    2. class-dump,获取可执行文件的头文件
    3. 找到上面试用弹框的h文件
    4. hook一下弹出这个Dialog的方法
    5. 得到新的可执行文件,放回原来的位置
    6. 把整个.app重签名一下,运行(后面发现根本不需要这一步)

    按照这个这个步骤执行下去,发现到第二步的时候就失败了 %>_<%。因为这个app里面有的或者都是用Swift写的,class-dump失败了,后面再查看汇编的时候,发现确实有Swift文件


    class-dump

    好吧,进行到这里感觉干不下去了。。。。。准备放弃了
    后面抱着学习的态度,想着去看看他的汇编代码也不错,就在网上下载了一个软件 👇


    hopper
    第一步:

    直接就把刚才从.app中拷贝出来的Mac-o文件拖到这个app里面欣赏欣赏。

    直接OK
    大学学的汇编都还给老师了
    在左边发现,可以看到类名,方法名
    类名
    第二步:

    然后就突然的灵光一现,既然是要我内购(IAP),那肯定是有内购的相关方法的,恩,内购单词咋写来着。。。pur? purchase。。
    然后就是一顿搜索

    purchase
    然后就是观察一些方法了,会发现有一个叫doShowPurchaseDialog的方法,差不多应该就是每次弹出上面的那个试用的弹框的方法了。
    doShowPurchaseDialog
    第三步:

    修改这个方法的执行,我们要的是不弹出这个框,所以直接把这个方法的执行改成return就行了。
    选择Modify-->Assemble Instruction,在里面输入retreturn的汇编代码)

    ret
    第四步:

    把修改了的Mac-o文件保存为新的可执行的文件
    选择File-->Product New executable... -->导出


    导出
    第五步:

    把新导出的可执行文件替换回原来的位置(Content->MacOS),运行App,这个试用弹框就不会在出来了😊😊😊(节省25大洋)

    还有另外一种方法,可以参考这篇文章

    慢慢来,一步一个巴掌印~~~

    相关文章

      网友评论

      本文标题:逆向破解MacOS App

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