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

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

  • 相关阅读:
    数据库的操作封装成类
    简单搭建WEB框架及原理
    界面小项目之小米商品排列
    界面小项目之小米登录注册
    kubernetes版本1.7.6对比1.13.0
    docker将宿主机文件复制到容器内
    常用git命令
    centos7常用命令汇总
    openstack相关的命令总结
    kubernetes常用命令2
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4673141.html
Copyright © 2011-2022 走看看