zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    《Web 开发基础》专题系列
    《.NET 编程结构》专题汇总(C#)
    .NET Core:使用BarTender
    .NET Core:过滤器
    .NET Core:中间件
    .NET Core:Api版本控制
    .NET Core:Token认证
    .NET Core:SignalR
    .NET Core:跨域
    .NET Core:Json和XML
  • 原文地址:https://www.cnblogs.com/Fightingbirds/p/11428455.html
Copyright © 2011-2022 走看看