一、基础
1、数据类型
(1)、基本数据类型
V void
Z boolean
B byte
S short
C char
I int
J long(64位)
F float
D double(64位)
J、Z两个不是对应类型的首字母
基本数据类型示例:
.method public final pubFinalMethod()V //返回值
.field private boType:Z // boolean
.field private byteType:B // byte
.field private shortType:S // short
.field private charType:C // char
.field private intType:I // int
.field private longType:J //long
.field private floatType:F // float
.field private doubleType:D // double
(2)、对象类型
Lpackage/name/ObjectName; 相当于java中的package.name.ObjectName; L 表示这是一个对象类型,package/name 该对象所在的包 ,ObjectName 对象名称 , 标识对象名称的结束。
(3)、数组类型
[I:表示int[];[[I:表示int[][] 每一维数组最多255个
[Ljava/lang/String:表示String[]
2、方法
方法结构
# direct methods (注释,是baksmali添加的)
.method <访问权限> [修饰关键字] <方法原型(描述了方法的名称,参数,与返回值)>
<.registers