android 反编译,逆向,注入LOG

反编译smali注入显示LOG的代码,备以后用:

.class public Lnet/iaround/connector/DebugClass;.super Ljava/lang/Object;.source "DebugClass.java"# direct methods.method public constructor <init>()V.locals 0.prologue.line 5invoke-direct {p0}, Ljava/lang/Object;-><init>()Vreturn-void.end method.method public static showLog(Ljava/lang/String;)V.locals 5.parameter "log".prologue.line 9new-instance v2, Ljava/lang/Exception;invoke-direct {v2}, Ljava/lang/Exception;-><init>()Vinvoke-virtual {v2}, Ljava/lang/Exception;->getStackTrace()[Ljava/lang/StackTraceElement;move-result-object v2const/4 v3, 0x1aget-object v1, v2, v3.line 10.local v1, traceElement:Ljava/lang/StackTraceElement;new-instance v2, Ljava/lang/StringBuilder;invoke-virtual {v1}, Ljava/lang/StackTraceElement;->getClassName()Ljava/lang/String;move-result-object v3invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;move-result-object v3invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)Vconst-string v3, "."invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;move-result-object v2invoke-virtual {v1}, Ljava/lang/StackTraceElement;->getMethodName()Ljava/lang/String;move-result-object v3invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;move-result-object v2const-string v3, ":\t"invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;move-result-object v2invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;move-result-object v0.line 11.local v0, pre:Ljava/lang/String;const-string v2, "yangjianchao"new-instance v3, Ljava/lang/StringBuilder;invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;move-result-object v4invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)Vinvoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;move-result-object v3invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;move-result-object v3invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I.line 12return-void.end method# virtual methods.method public o()Ljava/lang/String;.locals 1.prologue.line 15const-string v0, "888888888888888".line 21.local v0, rtn:Ljava/lang/String;return-object v0.end method

调用方法:

invoke-static {p2}, Lnet/iaround/connector/DebugClass;->showLog(Ljava/lang/String;)V

,其实只要你愿意,一切都可以变得很容易。

android 反编译,逆向,注入LOG

相关文章:

你感兴趣的文章:

标签云: