smali基础语法
本文最后更新于133 天前。

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 调用静态函数
move vx,vy
动作内容为vx,vy
move-object vx,vy
把vy对象引用到vx
move-result vx
把以前的方法调用的结果值保存到vx
move-result-object vx
把以前的方法调用的结果值保存为vx
return-void
无返回值返回
return vx
返回vx
move-result-object vx
返回对象引用值vx
const/4 vx,lit4
将lit4保存到vx,位宽为4
从最简单的if开始(反编译语法)
if语法:
goto :cond_** 无条件跳转到此代码,就是直接跳转
“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_
if-lt v0 v1 label_10
判断v0是否小于v1,跳转到函数10
ne不等于
eq等于
nez不等于
eqz等于
ge大于等于
gt大于
it小于
le小于等于

下一篇