|
|
可以看到程序打开会员界面是没有显示会员的需要解锁
然后我们使用mt管理器查看程序信息
直接进入classes.dex编辑
然后我们使用资源查询进行查找刚刚显示的Unlock Premium文字
搜索出来之后我们点击复制然后到搜索里面发起新的搜索
搜索出来之后点击进去进行分析
- .method public final s0()V
- .registers 3
- invoke-static {}, LGk0;->k()LGk0;
- move-result-object v0
- invoke-virtual {v0}, LGk0;->P()Z
- move-result v0
- if-nez v0, :cond_21
- iget-object v0, p0, Lr40;->F0:Landroid/widget/TextView;
- if-eqz v0, :cond_37
- iget-object v1, p0, Lr40;->G0:Landroid/widget/TextView;
- if-eqz v1, :cond_37
- const v1, 0x7f13009e
- invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(I)V
- iget-object v0, p0, Lr40;->G0:Landroid/widget/TextView;
- const v1, 0x7f13009d
- invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(I)V
- goto :goto_37
- :cond_21
- iget-object v0, p0, Lr40;->F0:Landroid/widget/TextView;
- if-eqz v0, :cond_37
- iget-object v1, p0, Lr40;->G0:Landroid/widget/TextView;
- if-eqz v1, :cond_37
- const v1, 0x7f130076
- invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(I)V
- iget-object v0, p0, Lr40;->G0:Landroid/widget/TextView;
- const v1, 0x7f130075
- invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(I)V
- :cond_37
- :goto_37
- return-void
- .end method
复制代码
检查 LGk0 类中的 P() 方法返回的状态,如果 P() 返回 True:跳转到 :cond_21 执行,如果 P() 返回 False:继续向下执行。
其中:cond_21 中的0x7f130076我们通过资源查看器是You are PRO 到这里我们就需要通过修改P()返回True让它直接跳到:cond_21
下面我们进入到这个P() 方法查看是怎么验证的
- .method public P()Z
- .registers 6
- iget-object v0, p0, LGk0;->c:Ljava/lang/Object;
- check-cast v0, Landroid/content/SharedPreferences;
- sget-object v1, Llg;->a:Ljava/lang/String;
- const-string v1, "is_purchased_ad_free"
- const/4 v2, 0x0
- invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
- move-result v0
- sget-boolean v3, Llg;->z:Z
- if-eqz v3, :cond_3a
- invoke-virtual {p0}, LGk0;->u()I
- move-result v0
- const/4 v3, 0x2
- const/4 v4, 0x1
- if-ne v0, v3, :cond_1b
- :goto_19
- move v2, v4
- goto :goto_38
- :cond_1b
- invoke-virtual {p0}, LGk0;->u()I
- move-result v0
- if-ne v0, v4, :cond_22
- goto :goto_19
- :cond_22
- invoke-virtual {p0}, LGk0;->u()I
- move-result v0
- if-nez v0, :cond_29
- goto :goto_38
- :cond_29
- invoke-virtual {p0}, LGk0;->u()I
- move-result v0
- const/4 v3, -0x1
- if-ne v0, v3, :cond_38
- iget-object v0, p0, LGk0;->c:Ljava/lang/Object;
- check-cast v0, Landroid/content/SharedPreferences;
- invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
- move-result v2
- :cond_38
- :goto_38
- move v0, v2
- :cond_3a
- return v0
- .end method
复制代码 我们可以看到这里也是各种判断 本地读取is_purchased_ad_free字符串来确认是否开通vip或者跳广告
我们直接在return 上添加const/4 v0, 0x1 为true 来告诉它已经开通vip
修改好之后 我们返回到目录进行重新签名 打包 安装进行测试
可以看到显示You are PRO user!
如有不足多多指教
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|