smali 语法与 java 对比表
java语法 | smali语法 | 说明 |
---|---|---|
private boolean isFlag | .field private isFlag:z | 定义变量 |
Package | .class .super .local .method .parameter .prologue .line 12 | 指定当前的类名 所继承的父类 定义使用局部变量 方法 方法参数 方法开始 此方法位于.java中的第12行,可以在混淆稳重去除,去除不影响运行结果 |
super | invoke-super const/high16 v0, 0x7fo3 invoke-direct | 调用父函数 吧0x7fo3赋值给v0 调用函数 |
return | Return-void .end method | 函数返回void 函数结束 |
new if(vA==vB) if(vA!=vB) if(vA< vB) if(vA>=vB) if(vA>vB) if(vA<=vB) if(vA==0) if(vA!=0) if(vA<0) if(vA>=0) if(vA>0) if(vA<=0) | new-instance iput-object iget-object invoke-static if-eq vA, vB if-ne vA, vB if-lt vA, vB if-ge vA, vB if-gt vA, vB if-le vA, vB if-eqz vA, if-ne vA if-lt vA if-ge vA if-gt vA if-le vA | 创建实例 对象赋值 调用对象 调用静态函数 如果 vA 等于 vB 如果 vA 不等于 vB 如果 vA 小于 vB 如果 vA 大于等于 vB 如果 vA 大于 vB 如果 vA小于等于 vB 如果 vA 等于0 如果 vA 不等于0 如果 vA 小于0 如果 vA 大于等于0 如果 vA 大于0 如果 vA 小于等于0 |
本文内容来自《Android安全技术揭秘与防范》周圣韬©️著 第5章 APK静态分析 5.4.4 smali 语法基础