如何通过反编译的方式提升APK的会员级别

本文通过图文并茂的方式演示如何进行安卓应用的会员级别提升,对于提升登录限制、vip会员限制和激活码限制,都可以通过这种方式进行处理。本教程通过安卓修改大师的代码布局定位功能,来自动定位布局和代码,通过分析代码,向大家展示反向工程和分析的思路。另外,为了方便大家跟随学习,下面也附带了本教程对应的apk,大家可以一边对照学习,一边操作,以便理解安卓应用的会员级别提升思路。

附件apk:请点击这里下载

1、 反编译后,什么都不改,直接打包,确保能运行,说明应用没有加固或者没有反编译限制,可以进行修改

2、 手机上面打开应用,安卓修改大师切换到代码/布局定位,抓取界面布局

从上面的截图可以看出来当前的类名,按钮的id,我们要破解的注册功能,因此点击那个在上述界面的左侧预览窗口,点击注册按钮,右侧自动列出这个按钮的相关属性和id,记住按钮id的名字 registerBtn 和当前的类名 com.ahkeli.vehcheckpda.RegisterActivity 后面有用。

3、 查看java源代码,找到注册按钮对应的处理代码进行分析

点击这个按钮打开源代码

 

打开的源代码窗口左侧依次展开com.ahkeli.vehcheckpda.RegisterActivity 查看源代码,搜索registerBtn 关键字。

 

就能看到这个按钮的点击事件,如上图,双击 RegisterActivity$initButton$3 进入点击的处理事件。

 

就能看到pda注册成功的判断方法isregister,这个方法就是注册码激活成功的判断方法。我们双击isRegiser进入,看到下面的方法

这个方法里面做了一些判断校验,我们要修改的逻辑就在这里,把这里的返回值写死为return true,也就是不管成功失败都返回成功。

把这个源代码拉到最顶部,可以看到包名路径是 package com.ahkeli.vehcheckpda.util;类名是 SystemUtil,请记住这个包名和类名,后面修改用

 

但是我们要修改apk不是改java文件,java仅仅是用来做参考逻辑的,需要修改的是smali代码,因此回到安卓修改大师,依次按照路径打开这个smali文件,具体路径见上面的红字部分。

 

找到isRegister方法

将里面的方法返回值写死为return ture; 但是return true是java语句,要转换为smali语句,对应的是
const/4 v0, 0x1

return v0

 

将上面的方法整个方法体里面都删除,改为上面的代码,见下图,改完后保存,

 

然后回到修改大师左侧的打包/签名,点击项目打包,打包后在手机上面运行,手机上面已经跳过了注册激活界面,直接到了信号控制的登录界面。

 

按照上面的方法查看登录界面的登录按钮

找到登录方法

依次点击进入登录方法

继续点击登录后的跳转处理方法

发现登录成功后跳转的主界面是MainActivity

通过上面的分析,登录成功后都是跳转主界面 MainActivity,其实可以直接跳过注册界面和登录界面,直接让应用打开后进入MainActivity。

方法是点击高级模式,打开应用配置文件AndroidMenifest.xml,搜索 android.intent.action.MAIN 关键字,这个是android 应用启动的标志。

 

将选中的标志移动到MainActivity里面。也就是原来是这样的

 

修改后是这样的,就是把上面选中的一堆移动到mainactivity里面,这样启动的主界面就变成mainactivity了。

 

保存后重新打包,我们看到,已经进入了主界面。

 

具体使用的时候,显示“您无权限使用此功能”,在java代码的MainActivity类里面查找这句话,找到调用的方法

 

在这个方法上面右键,菜单中点击交叉引用,找到引用的方法,

同样的方法继续右键查找引用,查找到调用的方法

通过读代码,发现当前类名称为rylb的变量是用来判断是否有权限的,这个变量包含11,15字符就会报上面的错误,包含12,08就是正常的。因此把这个变量设置写死为 1208 即可。

通过上面的语句判断得出来的结论,接下来就是写死这个变量,

 

通用在java代码的Mainactivity类里面搜索这个rylb变量,发现有两个地方赋值,

我们要做的是把这两个地方写死上面分析出来的1208,同样java代码只是用来参考的,要修改的话,还是修改smali代码,找到上面的方法对应的代码

 

上面是直接修改默认值为1208,请对应看前面的java代码

 

这个是新建一个变量替换掉原来的返回值,查看对比前面的java代码

 

然后重新打包运行,会员级别提升成功。

 

 

 

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值