mt逆向系列-赋值vip原理

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

图片[1]-mt逆向系列-赋值vip原理-可能资源网

通过本教程的学习可以达到以下目标:
1.明白赋值VIP是什么
2.了解赋值VIP的原理
3.通过赋值VIP的方式解锁会员

二、赋值VIP是什么
赋值VIP,顾名思义就是通过反编译的方式给软件获取VIP开通状态的方法赋一个返回为true(真)的值,从而使软件直接显示为已获取VIP并可以使用VIP全部特权。

三、赋值VIP的原理
赋值VIP的原理非常简单,熟悉移动开发的人都知道,安卓软件有一种类叫实体类,它和数据库里的表结构一一对应,表的字段对应实体类的属性,实体类会对每个属性生成getter/setter方法,而这里的getter方法就是赋值VIP的关键,因为软件的数据库里肯定有一个用户表,这个表里存储的都是用户的信息,其中就有一个vip字段,该字段一般都是布尔类型,为true时代表已开通VIP,为false时代表未开通VIP。实体类里肯定也有一个叫vip(属性名不唯一)的属性和isVip(方法名不唯一)的方法,这个isVip方法就是用来判断当前用户是否已开通VIP的,讲到这里相信你们已经有思路了,当我要使用赋值VIP的方式来解锁软件时,就可以从isVip方法下手,直接让isVip方法返回true即可,那么怎么让isVip返回true呢?下面我将以实战的方式告诉你。

四、通过赋值VIP的方式解锁软件
在了解了以上知识点后我们就可以进入实战环节了。我将采用详细分析的方式来给大家讲一下通过赋值VIP方式解锁一款软件的整个流程,让大家对赋值VIP有更深的理解,从而遇到各种各样的软件都可以自行分析并进行解锁。本次实战的软件是小熊录屏。

首先,我们从应用商店下载小熊录屏:

图片[2]-mt逆向系列-赋值vip原理-可能资源网

打开MT管理器并找到软件安装包:

图片[3]-mt逆向系列-赋值vip原理-可能资源网

因为软件的核心代码都在dex文件里,而该软件有多个dex文件,我们不知道用户实体类具体在哪一个里面,所以全选该软件的dex文件:

图片[4]-mt逆向系列-赋值vip原理-可能资源网

前面我们说过软件会有一个用户实体类,里面存储了用户的信息,当然也包含了vip信息。因为小熊录屏的代码被混淆过,所以不能直接通过搜索User类的方式来进行赋值。所以这里直接搜索isVip代码:

图片[5]-mt逆向系列-赋值vip原理-可能资源网

点开第一个co2类(这里的类名被混淆了,点开后可以看到真实的类名):

图片[6]-mt逆向系列-赋值vip原理-可能资源网

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

图片[7]-mt逆向系列-赋值vip原理-可能资源网

可以看到d属性的真实属性名是isVip,一般情况下该类都会有一个isVip方法,但是因为该软件的设计原因并没有为我们生成isVip方法,所以我们不能直接在这里进行赋值。

那我们看一下fj1类里面都有啥:

图片[8]-mt逆向系列-赋值vip原理-可能资源网

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

图片[9]-mt逆向系列-赋值vip原理-可能资源网

第37行代码表示调用了hm3类的h方法,长按跳转并转为Java:

图片[10]-mt逆向系列-赋值vip原理-可能资源网

可以看到h方法(第45行)返回的是mm3.f方法返回的结果,那么我们继续跳转到mm3.f里去:

图片[11]-mt逆向系列-赋值vip原理-可能资源网

根据上述分析,继续跳转um3.p:

图片[12]-mt逆向系列-赋值vip原理-可能资源网

继续跳转tm3.D(context).K :

图片[13]-mt逆向系列-赋值vip原理-可能资源网

继续跳转m方法:

图片[14]-mt逆向系列-赋值vip原理-可能资源网

m方法调用了该类里面的r方法来获取布尔类型(boolean)的值并返回,该类的r方法其实返回的就是一个SharedPreferences对象而已,所以从这里就可以看出该软件的VIP开通状态是存放在本地的,想深入了解的可以百度看一下SharedPreferences类的用法。那么m方法其实就是获取本地的vip状态来返回给该方法的调用方,那找到了关键方法就可以开始赋值了。
回到smali代码:

图片[15]-mt逆向系列-赋值vip原理-可能资源网

通过对上图的分析可以发现131行代码就是m方法返回的关键代码,它返回了p1,那我们就可以在它的上方进行赋值,直接让该方法返回true,如下:

图片[16]-mt逆向系列-赋值vip原理-可能资源网

选中的代码是我对该方法进行赋值的代码,注意这里的p1,它是不唯一的,每个软件都不一样,所以解锁其他软件时需要自行分析并替换。
这行代码的意思是给p1赋值0x1,0x1其实就是1,而1又表示true,所以这里就直接让该方法返回true了,不信我们转为Java看一下:

图片[17]-mt逆向系列-赋值vip原理-可能资源网

注意,转为Java后需要重新加载一下才能看到修改后的变化。
可以看到m方法已经直接返回true了,这代表凡是调用该方法以及上层方法的方法都会返回true,也就是说不管怎么样vip状态都是已开通状态。
下面我们来看效果图:

图片[18]-mt逆向系列-赋值vip原理-可能资源网

可以发现已经显示vip标识了,这时候所有vip相关的功能都可以免费使用了。

THE END
抢沙发

请登录后发表评论

    暂无评论内容

相关推荐

so修改经验总结

so修改经验总结-可能资源网
so修改总结,自用勿喷 1.​先打开dnapy搜索关键词如gold,cash,coin,money,diamond,gem,jewel,energy等(也可能是红宝石ruby,绿宝石),或者current,currency,amount,balance等,尝试进行赋值,...
可能的头像-可能资源网可能1个月前
023

小宝贝手真紧在校园

小宝贝手真紧在校园-可能资源网
小宝贝的手真紧在校园,让人不禁想起了他们天真无邪的笑容和纯真的友谊。 在校园里,小宝贝们手紧紧地拉着彼此,一起走过欢声笑语的操场,一起探索未知的世界。他们的手,是他们之间真挚情感的...
可能的头像-可能资源网可能22天前
09

qq永久解冻申述教程+申述理由

qq永久解冻申述教程+申述理由-可能资源网
其实投诉到工信部资料齐全,申诉的说词整理得好,能够成功解封的几率非常高。只要不是严重的违规, 比如:1、涉H,群主没有发过H,但是被封号的;2、QQ空间发了几条不是很严重的广告之类的;3、...
可能的头像-可能资源网可能1个月前
0165

我们站着再来一次好不好

我们站着再来一次好不好-可能资源网
站着再来一次,是一种积极向上的心态,表示我们愿意重新尝试、努力奋斗,无论之前的结果如何。站着再来一次,意味着我们不会轻易放弃,而是坚定地面对挑战,迎接新的机会。 站着再来一次可以用...
可能的头像-可能资源网可能22天前
013

河马输入法解锁会员教程

河马输入法解锁会员教程-可能资源网
【软件名称】:河马输入法【软件版本】:1.0.8【软件大小】:79.9MB【测试机型】:iq8pro【练手包下载地址】:https://wwuj.lanzoul.com/i4p1w16hgghe 第1步:不是小白的可跳过首先进入Mt管理器...
可能的头像-可能资源网可能30天前
015

xss攻击技术原理

xss攻击技术原理-可能资源网
一.xss攻击技术原理 1.跨站脚本攻击(CrossSiteScript,XSS),是最常见的Web应用程序安全漏洞之一,也是OWASP2017Top10之一,近年来大量知名网站,包括Facebook、Twitter、百度、搜狐等都曾发现...
可能的头像-可能资源网可能1年前
0304