【凯特原创】MT逆向系列_赋值VIP原理

优选教程   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-6-11

本教程通过实战的方式详细分析赋值VIP的原理,让你更深刻的了解赋值VIP的原理,从而遇到各种各样的软件都可以自行分析并解锁。

11楼
Rain雪儿 2022-6-11
得到如下结果:

12楼
Rain雪儿 2022-6-11
点开第一个co2类(这里的类名被混淆了,点开后可以看到真实的类名):

13楼
Rain雪儿 2022-6-11
通过第5行代码得知该类的真实类名是UserInfo,说明这个类确实是用户实体类,那里面到底有没有vip字段呢,我们将这个类转成Java看一下(我个人喜欢转成Java,不转也可以):

14楼
Rain雪儿 2022-6-11
可以看到d属性的真实属性名是isVip,一般情况下该类都会有一个isVip方法,但是因为该软件的设计原因并没有为我们生成isVip方法,所以我们不能直接在这里进行赋值。
16楼
Rain雪儿 2022-6-11
那我们看一下fj1类里面都有啥:

17楼
Rain雪儿 2022-6-11
该类里面的代码比较多,但是不用慌,我们直接找关键字:isVip,可以看到第13行代码有isVip字符串,这里我解释一下第13行代码的意思。
这行代码的意思是将hm3类里的h方法返回的值(如果返回true则为0,返回false则为1)以键名为isVip的方式存储到bundle对象里。其实这里的hm3.h()就是获取vip是否开通的关键方法,回到smali代码:

18楼
Rain雪儿 2022-6-11
第37行代码表示调用了hm3类的h方法,长按跳转并转为Java:

19楼
Rain雪儿 2022-6-11
可以看到h方法(第45行)返回的是mm3.f方法返回的结果,那么我们继续跳转到mm3.f里去:

20楼
Rain雪儿 2022-6-11
根据上述分析,继续跳转um3.p:

评论

登录后才可发表内容
  • 主题

    3

  • 帖子

    175

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0534s Mem:2040Kb