软件来自谷歌,github有下载,有兴趣可以试一下。
反编译打开原版软件,有个【基础版本】,中文字符串搜索他,然后再去找ID,看看有什么结果。
可以知道这个字符串ID是【0x7f110043】,然后找一下smali代码。
注意路径,选择a这个文件,重点是右上角的三个方法,就是开启pro版本的。
.method public b()Z
.locals 2
.line 1
invoke-virtual {p0}, Le/a/a/a/a/a/t/a;->a()Ljava/util/Set;
move-result-object v0
sget-object v1, Le/a/a/a/a/a/f;->s:Ljava/util/Collection;
invoke-interface {v0, v1}, Ljava/util/Set;->containsAll(Ljava/util/Collection;)Z
move-result v0
return v0
.end method
看一下b()Z,可以发现他调用e/a/a/a/a/a/t/a;->a()Ljava/util/Set,也就是框内第一个方法。如图:
他有2个if-eqz v0, :cond_0,而:cond_0有个emptySet,也就是没有结果,你没付款,如果运行到这个地方就会显示基础版本。所以不能让他运行到红框部分,只能让他走绿框部分。所以改法比较简单,只留下绿框,其余删掉即可。变成:
.method public a()Ljava/util/Set;
.locals 2
new-instance v0, Ljava/util/HashSet;
sget-object v1, Le/a/a/a/a/a/f;->s:Ljava/util/Collection;
invoke-direct {v0, v1}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
return-object v0
.end method
回编译测试,已经开启专业版了,功能均可正常使用。 |