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 语法基础
本文深入解析了smali语法与java语法的区别,并通过实例展示了如何在混淆环境中进行APK静态分析。主要内容包括变量定义、类继承、方法调用、条件判断等核心操作,为开发者提供了一套有效的分析工具和技术。
987

被折叠的 条评论
为什么被折叠?



