android smali 插入log日志
在app可以反编译和重新打包的时候,可以使用log插装。
注意:
不要使用里面默认的寄存器,因为可能会报错。
在local内加1
.locals 4 -> .locals 5
源smali使用了v0-v3
你就使用v4
const-string v4, "log" invoke-static {v4, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I invoke-static {v4, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I invoke-static {v4, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
long输出
传入的时候需要传入两个寄存器
->sj(xx,v0,v1)V
xx表示tag
v0,v1表示一个long值
输出string,long
.method public static sj(Ljava/lang/String;J)V .locals 1 .prologue invoke-static {p1, p2}, Ljava/lang/String;->valueOf(J)Ljava/lang/String; move-result-object v0 invoke-static {p0, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .end method
输出string,int
.method public static si(Ljava/lang/String;I)V .locals 1 invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String; move-result-object v0 invoke-static {p0, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .end method