smali语法(II)

基本语法

• .field private isFlag:z  定义变量
• .method  方法
• .parameter  方法参数
• .prologue  方法开始
• .line 123  此方法位于第123行
• 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_**

猜你喜欢

转载自blog.csdn.net/uncle_gy/article/details/79574617