1. 程式人生 > >【android】解碼混淆過的堆疊跟蹤資訊

【android】解碼混淆過的堆疊跟蹤資訊

1.當混淆後的程式碼輸出一個堆疊資訊時,方法名是不可識別的,這使得除錯變得很困難,甚至是不可能的。

幸運的是,當ProGuard執行時,它都會輸出一個<project_root>/bin/proguard/mapping.txt檔案,而這個檔案中包含了原始的類,方法和欄位名被對映成的混淆名字。


retrace.bat指令碼(Window)或retrace.sh指令碼(Linux,Mac OS X)可以將一個被混淆過的堆疊跟蹤資訊還原成一個可讀的資訊。它位於<sdk_root>/tools/proguard資料夾中。執行retrace工具的語法如下:

retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]


例如:

retrace.bat -verbose mapping.txt obfuscated_trace.txt

如果你沒有指定<stacktrace_file>,retrace工具會從標準輸入讀取。

當然 你也可以使用工具 在tools/proguard/bin/ 下面 執行proguardGUI.bat 會執行一個GUI頁面,操作方式很簡單的 就選擇這三個紅款裡面的東西就可以了。