反编译以后代码搜索字符串【SubscribePro】,完全匹配模式,选择第二个结果,如图:
该字符串来源于界面按钮【恢复(购买)】,顺藤摸瓜即可找到。然后定位到方法b(Landroid/content/Context;)Z,代码如下:
- .method public static b(Landroid/content/Context;)Z
- .locals 3
- .line 27
- invoke-static {p0}, Lcom/camerasideas/instashot/store/a/c;->a(Landroid/content/Context;)Landroid/content/SharedPreferences;
- move-result-object v0
- const-string v1, "SubscribePro"
- const/4 v2, 0x0【v2赋值1即可开启会员,但是现在是0】
- invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
- move-result v0【现在取值=0】
- if-nez v0, :cond_0【不跳转】
- .line 29
- invoke-static {p0}, Lcom/camerasideas/instashot/store/a/c;->f(Landroid/content/Context;)Z
- move-result p0【现在取值=0】
- if-nez p0, :cond_0【不跳转】
- .line 30
- invoke-static {}, Lcom/camerasideas/instashot/c;->a()Lcom/camerasideas/instashot/c;
- move-result-object p0
- invoke-virtual {p0}, Lcom/camerasideas/instashot/c;->c()Z【建议改这里】
- move-result p0【现在取值=0】
- if-eqz p0, :cond_1【正常情况下,等于0跳转】
- :cond_0
- const/4 v2, 0x1
- :cond_1
- return v2
- .end method
可以发现,一路下来v2返回0时他就是非会员了,所以只要对const/4 v2, 0x0赋值1即可,不管他怎么跳都要返回1。但是修改的话建议对Lcom/camerasideas/instashot/c;->c()Z进行赋值,根源应该在那里。
根据文件路径返回去找c()Z这个方法,改成上图就可以开启pro了。
- .method public c()Z
- .locals 1
- const/4 v0, 0x1
- return v0
- .end method
声明:本站所有资源均由网友分享,如有侵权内容,请在文章下方留言,本站会立即处理。