今天在用ProGuard混淆的時候遇到一點機車的問題,搞不清處問題到底出在哪裡,於是同事建議我把build出來的東西反組譯回去看看是不是該混的都混了,不該混的沒有混。上次其實同事就教過我用,但最近腦筋不好都忘光光,於是自己搜尋一次果然找到相關文章。具體要反組譯android class的作法如下。
1. 到smali下載baksmali.jar檔。
2. 把.apk檔用解壓縮工具解開來,就可以看到裡面有如下圖這樣的目錄結構。

3. 把jar檔跟classes.dex放在一起之後執行底下指令
#java -jar baksmali.jar classes.dex
之後就會得到一個out的資料夾,內含如下圖的smali檔。
然後接下來要做什麼就看各人囉。
0 Comments:
Post a Comment