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

请登录后发表评论

    暂无评论内容

相关推荐

孩子想C我同意了处后续

孩子想C我同意了处后续-可能资源网
孩子想尝试一个新的活动,经过与他的讨论后,我同意了他的请求并支持他的决定。我相信这个新的活动将为他的发展带来积极的影响。 首先,我与孩子进行了一次开放的对话,了解他为什么想尝试这个...
可能的头像-可能资源网可能9个月前
033

亚马逊fba能跟卖fba吗

亚马逊fba能跟卖fba吗-可能资源网
亚马逊FBA(亚马逊物流)是一项为卖家提供的服务,通过这项服务,卖家可以将自己的商品存储在亚马逊的仓库中,并由亚马逊负责物流、包装和配送。这项服务极大地简化了卖家的运营流程,使得卖家...
可能的头像-可能资源网可能10个月前
027

如何查到王者好友的QQ号

如何查到王者好友的QQ号-可能资源网
 1.打开你要知道的游戏好友的QQ同步消息那个界面   2.点右上角那三条横线,然后点击屏蔽此人   3.重新登录一下电脑QQ(刷新一下)   4.打开设置,找到权限...
可能的头像-可能资源网可能2年前
0533

记录一下我的善良的表妹

记录一下我的善良的表妹-可能资源网
亲爱的读者们,今天我想和大家分享一个令人心痛的故事。故事的主人公是我的表妹,她是一个善良、勇敢的女孩——她的名字叫做小芳。然而,命运却对她开了一个残酷的玩笑。时间回到几天前的一个上...
可能的头像-可能资源网可能10个月前
016

新手入门!相机摄影基本方法

新手入门!相机摄影基本方法-可能资源网新手入门!相机摄影基本方法-可能资源网新手入门!相机摄影基本方法-可能资源网新手入门!相机摄影基本方法-可能资源网
可能的头像-可能资源网可能2年前
0133

兰姨不敢发出一点声音怕吵醒风

兰姨不敢发出一点声音怕吵醒风-可能资源网
兰姨躺在床上,心里充满了忧虑。她不敢发出一点声音,生怕吵醒了正在熟睡的风。 这是一个平凡的夜晚,屋内安静得只能听到自己的呼吸声。兰姨静静地躺在床上,回忆起白天的一幕幕。 白天,兰姨在...
可能的头像-可能资源网可能9个月前
0925