一、常用的Smail注入代码
在逆向分析APK文件的时候,我们往往需要注入一些自己的代码方便调试,如增加调试Log信息等。常用的Smail注入代码如下:
1.增加调试Log信息:
Log.i("test","Log Test");
2.增加堆栈跟踪信息:
new Exception("print trace onCreate").printStackTrace();
3.增加MethodTracing信息:
Debug.startMethodTracing("qprojecttract");
Debug.stopMethodTracing();
二、增加调试Log信息
推荐大家先书写相应的Java语言逻辑代码,然后将其反编译拿到Smali指定代码,最后复制过去即可;
1.我们常在应用中使用Log方法输出日志(如网络请求参数、加密数据等),书写如下:
在逆向分析APK文件的时候,我们往往需要注入一些自己的代码方便调试,如增加调试Log信息等。常用的Smail注入代码如下:
1.增加调试Log信息:
Log.i("test","Log Test");
2.增加堆栈跟踪信息:
new Exception("print trace onCreate").printStackTrace();
3.增加MethodTracing信息:
Debug.startMethodTracing("qprojecttract");
Debug.stopMethodTracing();
二、增加调试Log信息
推荐大家先书写相应的Java语言逻辑代码,然后将其反编译拿到Smali指定代码,最后复制过去即可;
1.我们常在应用中使用Log方法输出日志(如网络请求参数、加密数据等),书写如下:
Log.i("test","Log Test");
2.Smali语言描述如下:
const-string v0, "Log Test"
const-string v1, "test"
invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
3.如在Activity的onCreate()方法中,调用super.onCreate()之后,注入Log.i("test","Log Test")代码如下:
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.locals 2
.param p1, "aSavedInstanceState" # Landroid/os/Bundle;
.prologue
.line 24
invoke-super {p0, p1}, Landroid/support/v7/app/AppCompatActivity;->onCreate(Landroid/os/Bundle;)V
//注入Log代码
const-string v0, "Log Test"
const-s