zoukankan      html  css  js  c++  java
  • 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 5
        invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    
        return-void
    .end method
    
    .method public static showLog(Ljava/lang/String;)V
        .locals 5
        .parameter "log"
    
        .prologue
        .line 9
        new-instance v2, Ljava/lang/Exception;
    
        invoke-direct {v2}, Ljava/lang/Exception;-><init>()V
    
        invoke-virtual {v2}, Ljava/lang/Exception;->getStackTrace()[Ljava/lang/StackTraceElement;
    
        move-result-object v2
    
        const/4 v3, 0x1
    
        aget-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 v3
    
        invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    
        move-result-object v3
    
        invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    
        const-string v3, "."
    
        invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v2
    
        invoke-virtual {v1}, Ljava/lang/StackTraceElement;->getMethodName()Ljava/lang/String;
    
        move-result-object v3
    
        invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v2
    
        const-string v3, ":	"
    
        invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v2
    
        invoke-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 v4
    
        invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    
        invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v3
    
        invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    
        move-result-object v3
    
        invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
    
        .line 12
        return-void
    .end method
    
    
    # virtual methods
    .method public o()Ljava/lang/String;
        .locals 1
    
        .prologue
        .line 15
        const-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

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    zabbix 3.4自动化监控(6)
    zabbix 3.4 web监控(5)
    童年
    CSDN中快速转载别人文章
    10个提升效率的编程好习惯(转载)
    解决vscode中vim插件,不能使用Ctrl+c
    英语复习安排
    比勤奋更能拉开人生差距的,是成长型思维
    转载文章
    红宝书考研资料
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4673141.html
Copyright © 2011-2022 走看看