|
|
练手包 https://www.123912.com/s/cru0Vv-k8zfA?pwd=l2vx# 提取码:l2vx
非常适合小白去练习的一款软件
1.使用mt去除签名效验
2.打开Asrc编辑器,搜索永久VIP会员,找到这个,长按复制该id
3.接着进入dex编辑器,全选,选择搜索.搜索类型选择代码--查找代码选择刚才那个复制的id,接着点击确定
4.可以看到搜出来这些都是没用的
那怎么办呢,别急,我们先随便点一个进去
复制它前面的代码,如图所示也就是那个c145
复制之后还是一样选择搜索.代码.选择刚才复制的代码也就是c145,然后点确定
然后我们就会发现一个与其它代码不一样的一个代码
我们点击第一个进入
接下来就是重头戏了
5.那小白说看不懂怎么办,那就转Java,Java更容易看懂,我们点击右上角的三条杠,选择转java即可
如果转进去只有一点点代码那就是出现bug了,重新进入即可
转Java之后我们发现它是进行逻辑判断来看我们有没有会员
如图分别是getVipNums方法名来判断时间[3650转16进制也就是0xe42]
getPayStatus和isPermanent方法名来判断会员状态
那我们就返回修改代码
6.我们返回之后,稍微往上滑就一下子就看到了那几个方法名首先是getVipNums这个是判断时间的,我们往它下面看就可以看到判断代码
那小白又要问了,看不懂怎么办
我们点一下那条代码,点上方的三条杠,选择指令查询
可以看到是判断v1是否大于或等于v4的值
我们往上面一点就可以看到v4的值
也就是0xe42换10进制为3650也就是Java中的那个3650
判断成功的话就为永久会员,所以我们让它等于即可
所以我们找到那个getVipNums的值,跳转进去
在后面赋值const/16 v0, 0xe42
为什么是const/16而不是/4呢,如果你用/4的话就会发现报错,因为/4不支持太大的范围,而3650太大了,所以我们用/16
接着我们找到那两个方法名isPermanent
getPayStatus
这两个也是判断会员的[刚才在java判断中看到了],所以我们分别跳转进去赋值const/4 v0, 0x1
为什么不赋值其它数字呢
在smali中我们通常把1和0列为true和flase
也就是真和假
当然最主要你还是要看java中怎么判断的
刚才java中就是判断是否为1
为1的话就永久会员,不为0的话就不是会员
下载之后无法登陆怎么办,我们进入dex搜索.islogin.方法名,然后选择确定,接着我们点进去,赋值const/4 v0, 0x1即可
同样,1是已登陆,0是未登陆
之后保存安装即可
最后如果觉得该教程有用,请投几个币支持我,感谢
成品包https://www.123912.com/s/cru0Vv-E8zfA?pwd=0KFI# 提取码:0KFI |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
-
查看全部评分
总评分:好评 +2
金币 +3
|