信息来源于网络博客和文档整理而来,如有雷同纯属抄袭(斜眼笑)
Smali基本语法
- .field private isFlag:z 定义变量
- .method 方法
- .parameter 方法参数
- .prologue 方法开始
- .line n 此方法位于第n行
- invoke-super 调用父函数
- const/high16 v0, 0x0001 把0x0001赋值给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_**