#direct methods :直接方法(构造方法或静态语句块)
(可以直接点将vn看成局部变量寄存器,pn为参数寄存器)
clinit:表示静态代码块
locals :表示局部变量寄存器 使用数量为 1个
new-instance:实例化
invoke-direct:调用方法----表示构造方。这里表示调用构造方法实例化
supt-object:表示将v0寄存器赋值给f
插桩Log:
const-string v0, "TAG"
const-string v1, "HelloWorld"
invoke-static {
v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
创建一个类,返回一个静态方法字符串:
新建的类:
.class Lcom/example/smalitest/HelloTest; #从smali文件目录开始到类名。类声明
.super Ljava/lang/Object; #父类声明
.method public static returnStr()Ljava/lang/String; #函数声明
.locals 1 #一共用了几个本地寄存器(v开头的)
const-string v0, "Hello 1" #新建字符串
return-object v0 #返回自负床
.end method
invoke-static {
}, Lcom/example/smalitest/HelloTest;->returnStr(