第一步,我建议大家去其他大大的破解教程贴里先看看,然后下载好那个帖子里的游戏,作为练手使用,如果你想要自己找游戏的话,直接上“和游戏”等等的网页上去下载(看我的主题里有破解游戏,这都是通过这个方法来解决的。因为上面所说的游戏大多都是可以短信支付的),而且游戏小一点为宜(如果改错了可以短时间内再次尝试)。
第二步,学习基本的JAVA知识。
Smali基本语法
.field private isFlag:z 定义变量
.method 方法
.parameter 方法参数
.prologue 方法开始
.line 12 此方法位于第12行
invoke-super 调用父函数
const/high16 v0, 0x7fo3 把0x7fo3赋值给v0
invoke-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_
这是我从网上找到的东西,纯小白们必须先看懂这个!是必须!
第三步,用MT管理器打开游戏的apk,开始破解。
我们需要打开的是.dex后缀的那个东西,流程是这样的:
点击apk
点击“查看” (稍微等待一下,之后你会看到一些文件。)
点击“classes.dex”(这个文件里面就是代码什么的东西)
点击“编辑代码”
于是便进入到一个由四个选项组成的界面。
类–这个东西我也不太清楚,总之就像是个文件夹(装有某一系列代码)一样的东西。
方法–可以理解为“类”的下属,也就是由某系列代码组成的小集合。
代码–游戏运行是要按照规律来走的,而那个规律就是代码。
大小分级是这样的:代码组成方法,方法组成类。
(这个是我的理解,这样比较好懂,大大们不要喷我)
继续看那四个选项
第一个“类列表”,就像打开文件夹一样一层层地进去,然后找到“类”,这里只有当你明确知道“类”的位置时才会用到。
第二个“字符常量池”,一般不会用到,具体是干什么的,大概就是把代码中的一些关键字陈列出来。
第三个“搜索类”,这个是破解游戏时候总要用到的,详细的一会儿再解释。
第四个“高级搜索”,我到现在都没弄明白这是干什么的,大大们的教程贴也没有提及,破解时候几乎用不到(可以那么理解)。在这里插入图片描述
四个选项的内容,其中第三个“搜索类”是我们总要用到也是必须学会的,点开之后我们会看到一个输入框和四串字。不区分大小写–这个大家应该都懂,比如:你要搜索OnBillingFinish,如果勾选了这个,那只有输入onbillingfinish就能搜到了。搜索字符串–搜索出现在代码中的const string后面出现的“”内的东西。(应该是这样没错。。。。)搜索方法名–一般大大们教程里都会让我们用这个,这个具体是干什么的呢?一般支付成功或者失败的代码都会出现在一个方法里,也就是被整合在一个方法里,而这个方法!通常同一个出处(如:移动和游戏)的游戏,这个方法的名称都是一样的!这里特别要注意!这就是大大们直接让咱们搜索onbill
下面继续教程





