白云点缀的蓝 发表于 2021-3-28 11:33

起名软件vip功能分析

本帖最后由 白云点缀的蓝 于 2021-11-6 10:43 编辑

话不多说,我们先安装进模拟器,看看有没有什么关键信息
可以看到如下信息

我们先用android killer反编译一下,
然后我们搜索下提示
搜索到如下信息

我们一个一个去看看,
这三个关键信息转java代码后,都经过了类似的代码,我只放一张图片,因为其他图的代码都类似,几乎一模一样

我们分析下关键代码
public void onCheckedChanged(RadioGroup arg5, int arg6) {
    RadioButton radioButton = (RadioButton)MainActivity.this.findViewById(arg5.getCheckedRadioButtonId());
    if(GlobalVar.getInstance().GetVip()) {
      switch(arg5.getCheckedRadioButtonId()) {
            case 0x7F060039: {// id:wuxingj
                MainActivity.this.wuxing = "金";
                return;
            }
            case 0x7F06003A: {// id:wuxingm
                break;
            }
            case 0x7F06003B: {// id:wuxings
                MainActivity.this.wuxing = "水";
                return;
            }
            case 0x7F06003C: {// id:wuxingt
                MainActivity.this.wuxing = "土";
                return;
            }
            case 0x7F06003D: {// id:wuxingh
                MainActivity.this.wuxing = "火";
                return;
            }
            default: {
                return;
            }
      }
      MainActivity.this.wuxing = "木";
      return;
    }
    radioButton.setChecked(false);
    new AlertDialog.Builder(MainActivity.this).setTitle("会员提示").setMessage("VIP会员,可以选择五行。升级VIP会员请点击右下角会员专区!").setPositiveButton("确定", null).show();
}
从上面的代码可以知道GlobalVar.getInstance().GetVip()这个值如果为false,就执行radioButton.setChecked(false);,并且弹升级广告的弹窗
我们找一下GetVip这个方法在哪,

我们看下GetVip方法
public boolean GetVip() {
    return this.SessenID.equals("1");
}
smali代码
# virtual methods
.method public GetVip()Z
    .locals 3
    .prologue
    .line 82
    const/4 v0, 0x0
    .line 83
    .local v0, "Ret":Z
    iget-object v1, p0, Lcom/meiyiming/gsname/GlobalVar;->SessenID:Ljava/lang/String;
    const-string v2, "1"
    invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-eqz v1, :cond_0
    .line 85
    const/4 v0, 0x1
    .line 88
    :cond_0
    return v0
.end method
从上面方法可知,v1一定不等于1,因为his.SessenID不等于1,
我们可以把下面这句的eqz改为nez,或者把下面这句删除,
if-eqz v1, :cond_0
然后我们编译,安装进模拟器看看效果,

经过测试,vip功能已可以正常使用课件下载地址:https://starrysp.lanzouw.com/ipgwfnebvwb


coolqiujie 发表于 2021-3-28 12:52

学习学习了

愤怒的亚索 发表于 2021-3-28 13:04


学习学习了

zzzxc123 发表于 2021-3-28 13:28

学习学习了

minminvip 发表于 2021-3-28 22:20

看一看功能分析!

111 发表于 2021-3-29 13:57



学习学习了

shuai21long 发表于 2021-3-29 16:46

学习学习了

影风 发表于 2021-3-29 18:33

楼主辛苦了,谢谢楼主,感谢楼主分享,楼主好人一生平安!!!

aゞ烛火 发表于 2021-3-29 20:34

学习学习了

52bug 发表于 2021-3-29 21:12

学习{:5_116:}
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 起名软件vip功能分析