我发现如果根本的直接发一些破解教程会让一些刚入手的新手措手不及,不知道这些程序代码是什么意思,那么我会分很多期来讲这个安卓逆向
本节课主要讲了安卓逆向基础知识之smail基础知识
(文章前言:我只是教你们基础知识,主要还是要自己去理解)【本期要分为上下节来讲】
1.smail语法(这部分相当重要对于逆向)
先来一段语法翻译吧(这段内容一定要记住)
eq等于 ne 不等于
lt小于 gt大于
ge大于等于 le小于等于
z零的意思 e是等于的意思 n不的意思 l小的意思 g大的意思
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_**
3.跳转指令
if-eq 等于则跳转 ==
if-ne 不等于则跳转 !=
if-lt 小于则跳转
if-ge 大于或等于则跳转 >=
if-le 小于或等于则跳转 isVip()Z 先不着急,我们转成java语段看 搜索刚才的ID值 下一个 然后我们看到上面有一段判断: if (LoginManager.getInstance().isVip()) 那么一般破解VIP之类的都是看这个判断句的最后一个 这里就是:isVip(本地VIP)
好看我们再转成smail 那么就看到上面我说到的那一段 好那么这里还有一个就是这个isvip后面的Z 这里的意思是:Z=boolean也就是
布尔值,而boolean是我们破解的关键
以后看代码,可以专看字母后有木有Z)【说下这句话和整个文章没多大关系,就是给你个理解意思boolean是B 但是意思一样】(前面文章说到的) 所以以后破解看看有没有Z[哈哈][哈哈],好然后这时候我们跳转他看到下面有个赋值const/4 v0, 0x0 最后零改成1 为什么?看这里:const/4 v0, 0x1代表赋值为1,也就
是true[正确],而const/4 v0, 0x0代表
赋值为0,也就是false[错误],那
当然想让它赋值为1[正确] ,好这时候有人问:为什么我看有些教程上面都在return v0(返回值)后面添加因为如果我们想让他自己变成vip是不行的,所以我们要让他强制赋值如上面我说的:const/4 v0, 0x1 好现在说retun v0
没有回复内容