第一次接触APK破解,原因是
深更半夜精力旺盛想找个开车软件可惜要么要钱,要么要推广,太难受了,所以第二天一早就踏上了PJ这条不归路,顺带一提,这玩意儿是真难搞
正文开始(因为我也是新手,现在只会用9000大法和常量搜索)第一步用MT打开软件,这个伪阿里聚安全是啥?不管了,搞它
第二步用DEX++打开这三个
第三步搜索 9000
为什么?因为 9000 是支付宝支付成功的代码,一般能用支付宝的都能搜到,反正我是只在这个app上搜到过
第四步点确定后会出现这个界面,然后开始找
第五步
找这个类型的 const-string v “ ” ,9000 找到这五个
第六步
点进去找支付成功的提示,一般双引号里的都是提示语句,因为英语水平问题,只能借助翻译了,五个9000找完并翻译就是这个样子,支付成功已经找到,接下来就是修改
第七步
修改支付验证,正常来说,取消支付会跳转到 cond-33,我们把跳转条件修改就好了,然后点保存。
eqz和nez的区别会在结尾,想知道的可以在那里看
还有几种方法,比如删除跳转语句,修改跳转需要验证的条件,或者删除无用的程序,只留下支付成功的程序,想实验的可以自己试试
最后一步,也就是最重要的一步就是保存
然后就修改完成,可以上去嗨皮了
这个是可能用到的东西,记一下吧
Smali基本语法
.field private isFlag:z 定义变量
.method 方法
.parameter 方法参数
.prologue 方法开始
.line 12 此方法位于第12行
invoke-super 调用父函数
const/high16 v0, 0x7fo3 把0x7fo3赋值给
v0invoke-direct 调用函数
return-void 函数返回
void.end method 函数结束
new-instance 创建实例
iput-object 对象赋值
iget-object 调用对象
invoke-static 调用静态函数
条件跳转分支:
"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_**
声明:本站所有资源均由网友分享,如有侵权内容,请在文章下方留言,本站会立即处理。