美文网首页
第二次写Tweak,去除微商软件水印

第二次写Tweak,去除微商软件水印

作者: YxYYxY | 来源:发表于2017-07-14 17:21 被阅读1064次

    第二次写Tweak,破解微商软件

    在网上看到一款微商软件,用于生成对话和金额充值、提现等。软件名就不方便透露了,软件截图如下


    软件功能大致如上,作图(微商神器吧,普通人也可以装装逼),图3中间的水印是软件自带的,虽然软件提供了注册可以去掉水印的功能,但是作为程序猿肯定不愿意用这种方式来去掉水印啊

    开工

    分析阶段

    • 刚下载下来的时候,没打算写Tweak来去除这个水印,打算用Flex3来做的,我使用后发现只有在聊天界面中才会出现这个水印,头脑里的第一想法就是应该是在聊天控制器的基类中的viewDidDisappearviewWillAppear中判断是否注册然后来显示水印,然后有了想法就开始动手了,因为这2个函数都是没有返回值的,所以用Flex3貌似做不了了(如果有大神有方法还请指点)

    动手阶段

    • 开工写Tweak,初始化这些工作我就不截图了,可以去看我之前的文章第一次写Tweak,走进iOS逆向的世界都有详细介绍,根据我刚刚的思路,应该是在基类中的周期方法里加的判断,但是手机上我没法通过FLEX查看到基类(可能是我还不太熟悉使用),然后我就直接找到了聊天控制器,我想的是反正我hook了当前的聊天控制器,我不写super就行了,就没有父类的判断了呗!

    Tweak.xm中的代码如下

    %hook SDChatTableViewController
    
    - (void)viewWillAppear:(BOOL)animated {
        
    }
    
    - (void)viewDidDisappear:(BOOL)animated {
        
    }
    
    %end
    

    哗啦啦写完后make package,把deb装到手机上,打开软件,尼玛,和想好的不对呢,水印还在呢!神马情况,难道我的思路错了?好吧,接下来的事实确实证明我错了,接下来认真点了.


    二次开工

    • 这次直接还是用电脑开工,首先使用Reveal看了下布局,布局如下图


      果然一看这层次结构就知道自己刚刚的想法应该是错了,是直接在Window上添加了个ImageView,可能是有个工具类吧,然后直接使用Clutch敲壳,Class-dump导出头文件,这些操作我之前文章有写,不会的可以去看一下,导出了头文件,在头文件里找到自己想要的又是个难题了,首先我打开了我之前想的那个聊天控制器,找了一圈,加上找基类,确实没有找到有相关设置水印的方法,然后使用搜索功能在所有的头文件里搜索walletmark可惜的是,没有相关的方法,然后灵机一动搜索shuiyin

    • 既然这个方法都摆在这了,那还有什么说的,直接开始写Tweak了呗

    %hook WindowManager
    
    + (void)addShuiyin {
        
    }
    
    %end
    

    make package走起,安装deb,然后打开软件,打开聊天窗口,见证奇迹的时候到了


    水印消失了,就是这么简单.

    在使用中发现我的钱包页面导航栏是黑色的,但导航栏的文字也是黑色的,根本看不清,然后打开Tweak.xm哗哗的再写2行代码

    %hook AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
        %orig;
        return YES;
    }
    
    %end
    

    然后再打包deb安装,导航栏也白了,收工。

    这次写的东西也很简单,没有什么技术含量,算是入门的小练习吧,其实主要是思路,方法很简单,如果文中有什么错误,还请大家指出!如果有不懂的,可以留言!

    相关文章

      网友评论

          本文标题:第二次写Tweak,去除微商软件水印

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