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
抢沙发

请登录后发表评论

    暂无评论内容

相关推荐

电信白嫖定向流量+利用小黄鸟抓混淆

一次QQ社工库在线查询实践

手机自动抢红包软件自动抢微信红包挂机最新抢红包神器

手机自动抢红包软件自动抢微信红包挂机最新抢红包神器-可能资源网
手机自动抢红包软件是一种便捷的工具,可以帮助用户在微信红包活动中获得更多的好运和惊喜。这款最新的抢红包神器不仅可以实现自动抢红包的功能,还可以通过挂机的方式,让用户无需手动操作,即...
可能的头像-可能资源网可能4个月前
075

主仆憋尿规定一天只尿一次

主仆憋尿规定一天只尿一次-可能资源网
主仆憋尿规定一天只尿一次 近年来,主仆憋尿规定在一些国家逐渐引起争议。这一规定要求主人和仆人每天只能去厕所解决一次尿尿的需求。尽管在某些情况下,这一规定可能有其合理性和必要性,但在...
可能的头像-可能资源网可能5个月前
0616

WordPress主题dux3.0

WordPress主题dux3.0-可能资源网
WordPress是最热门的建站程序,除了支持各种插件主题也是非常的多,但是对于喜欢折腾的老夜来说花费巨资购买主题还是个问题,主题玩腻了换个主题也是分分钟的事情,而且好主题都价格不菲。可能...
可能的头像-可能资源网可能9个月前
0269

高级渗透测试黑客指南(黑客入门必看)

高级渗透测试黑客指南(黑客入门必看)-可能资源网
如果您负责保护组织的数据安全,则需要了解渗透测试。 渗透测试是一种模拟网络攻击,测试人员试图访问系统和数据以发现安全漏洞。 通过识别这些漏洞,您可以采取措施在真正的攻击者之前修复它们...
可能的头像-可能资源网可能10个月前
091