安卓逆向_10 --- Log 日誌的插入和分析、toast方法、棧跟蹤

 

From:https://blog.csdn.net/weixin_42680210/article/details/90384358

 

 

在安卓逆向中,常常用到 棧跟蹤 及 toast方法 及 Log日誌的插入 以便於我們更好的分析代碼

下面就演示記錄這三個方法的使用及簡單的分析:

 

 

1. 插入 Log 信息輸出:

 

在方法的開始處,我們右擊->插入代碼->Log信息輸出

插入代碼:

然後我們反編譯apk,並安裝到模擬器,打開ddms查看log日誌

這裏我們就看到了剛剛在更新代碼添加的log信息。

 

 

2. toast 彈窗的輸出

 

在剛剛的 log 代碼下面,我們右擊->插入代碼->toast輸出  插入一段toast代碼

反編譯apk,安裝後我們查看效果

此時我們也可以在ddms中查看到日誌輸出,由此我們可以分析: 

    java.lang.Exception: denglibo Toast callstack! strTip=我是toast提示 
 
    at android.widget.Toast.show(Toast.java:127)
 
    at com.reader.activity.MainActivity.showMustUpdateDialog(MainActivity.java:327)

程序先執行了MainActivity文件的showMustUpdateDialog方法,然後執行了show方法,程序的運行順序由下往上執行輸出,我們便可以通過簡單的插入toast輸出,來查看程序的執行順序,方便我們分析複雜的程序執行順序。

 

 

3. 棧跟蹤的使用

 

在剛剛的 toast 代碼下面,我們右擊->插入代碼->stack trace棧跟蹤 插入一段棧跟蹤代碼

smali 代碼:

# 棧跟蹤
new-instance v0, Ljava/lang/Exception;
const-string v1, "print trace"
invoke-direct {v0, v1}, Ljava/lang/Exception; -><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception; ->printStackTrace()V
# 棧跟蹤

回編譯apk,安裝,打開安裝好的 apk 和 ddms 查看

同樣的我們也可以通過棧跟蹤的方法查看到程序執行的順序!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章