安卓逆向 · 2023年11月28日 0

Smali日志插桩代码

.class public LSSLog;  
.super Ljava/lang/Object;
.source "SSLog.java"  

#无参数,判断怀疑函数是否执行,如何触发,执行的顺序...
#一个参数,字符串或者数组,输出怀疑函数的返回值...
#两个参数,即多一个Tag自定义的key值...

#invoke-static {}, LSSLog;->Log()V
#invoke-static {v1}, LSSLog;->Log(Ljava/lang/Object;)V
#invoke-static {v1}, LSSLog;->Log([Ljava/lang/Object;)V
#打印函数调用堆栈
#invoke-static {}, LSSLog;->Trace()V  

# direct methods
.method public constructor <init>()V
    .locals 0

    .prologue
    .line 4
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static Log()V
    .locals 2

    .prologue
    .line 11
    const-string/jumbo v0, "SixSir"

    const-string/jumbo v1, "DeBug ..."

    invoke-static {v0, v1}, LSSLog;->Log(Ljava/lang/String;Ljava/lang/String;)V

    .line 12
    return-void
.end method

.method public static Log(Ljava/lang/Object;)V
    .locals 2
    .param p0, "someObj"    # Ljava/lang/Object;

    .prologue
    .line 15
    const-string/jumbo v0, "SixSir"

    invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, LSSLog;->Log(Ljava/lang/String;Ljava/lang/String;)V

    .line 16
    return-void
.end method

.method public static Log(Ljava/lang/String;Ljava/lang/String;)V
    .locals 0
    .param p0, "tag"    # Ljava/lang/String;
    .param p1, "msg"    # Ljava/lang/String;

    .prologue
    .line 7
    invoke-static {p0, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 8
    return-void
.end method

.method public static Log([Ljava/lang/Object;)V
    .locals 2
    .param p0, "someObj"    # [Ljava/lang/Object;

    .prologue
    .line 19
    const-string/jumbo v0, "SewellDinG"

    invoke-static {p0}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, LSSLog;->Log(Ljava/lang/String;Ljava/lang/String;)V

    .line 20
    return-void
.end method

.method public static Trace()V
    .locals 2

    new-instance v0, Ljava/lang/Exception;
    const-string v1, "SixSir"
    invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    return-void
.end method