October 26, 2010

反組譯android app

其實這篇強者學長的文章更值得參考!反組譯並修改 Android 應用程式實例

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

2. 把.apk檔用解壓縮工具解開來,就可以看到裡面有如下圖這樣的目錄結構。
3. 把jar檔跟classes.dex放在一起之後執行底下指令#java -jar baksmali.jar classes.dex 之後就會得到一個out的資料夾,內含如下圖的smali檔。
然後接下來要做什麼就看各人囉。

0 Comments: