目标
看完课程,完成课后作业,CrackMe的付费模块破解
https://www.52pojie.cn/thread-397987-1-1.html
实战
先安装APP瞧瞧
丢到AndroidKiller中
反编译完成后,搜索激活vip
if-ge v0, v2, :cond_0
如果v0>=v2就跳转到cond_0
我们去看看cond_0
就是升级vip的
我的想法很简单,当v0>=v2跳转到cond_0,我改成v0<=v2跳转到cond_0即可成功升级。
把if-ge改成if-le
保存,编译
看了帖子下面的评论,还有很多种方法来破解。
总结
学号Smali代码是关键
"if-eq vA, vB, :cond_**" 如果vA等于vB则跳转到:cond_**
"if-ne vA, vB, :cond_**" 如果vA不等于vB则跳转到:cond_**
"if-lt vA, vB, :cond_**" 如果vA小于vB则跳转到:cond_**
"if-ge vA, vB, :cond_**" 如果vA大于等于vB则跳转到:cond_**
"if-gt vA, vB, :cond_**" 如果vA大于vB则跳转到:cond_**
"if-le vA, vB, :cond_**" 如果vA小于等于vB则跳转到:cond_**
"if-eqz vA, :cond_**" 如果vA等于0则跳转到:cond_**
"if-nez vA, :cond_**" 如果vA不等于0则跳转到:cond_**
"if-ltz vA, :cond_**" 如果vA小于0则跳转到:cond_**
"if-gez vA, :cond_**" 如果vA大于等于0则跳转到:cond_**
"if-gtz vA, :cond_**" 如果vA大于0则跳转到:cond_**
"if-lez vA, :cond_**" 如果vA小于等于0则跳转到:cond_**