關於 Android Apk 反編譯

轉載請註明出處:http://blog.csdn.net/crapulencezzz/article/details/52584301

在日常的 Android 開發中,我們有時候經常會發現某款 App 做的不錯,動畫漂亮或者佈局精緻,往往就會想這到底是怎麼實現的呢?這時候如果有一個工具可以反編譯 Apk 安裝包查看它的源碼就好了,下面我們就來講講如何反編譯一個 Apk 文件。

其實關於反編譯,之前也有好多大神寫過類似的博客:
Andorid 反編譯 App
Android APK反編譯就這麼簡單 詳解(附圖)
這些博客已經講的很清楚明白了,相信你們都能看懂。但是爲什麼還要重複造輪子呢?

別急,容我慢慢說來,一般的軟件的確可以通過上述博客中所寫的方法反編譯出來,但是筆者在反編譯某款 App 的時候發現生成的結果目錄竟然是空的,納尼?然後我就找啊找,找啊找,結合了各種情況,最終把可能的原因總結成一下兩點:

  1. 反編譯軟件對 Java 程序有特殊需要,環境變量是否配置,Java 版本之類的;
  2. 反編譯工具不是最新的;

對於第一條,如果配置了環境變量的話,在控制檯命令窗口輸入下面的命令就可以查看:

java -version

我之前用的是 jdk 1.8 的版本,不知道爲什麼就一直報錯,反編譯完不是空目錄就是隻有一個 .dex 文件。然後我就果斷把 jdk 換成 1.7 版本,結果發現還是同樣的問題。先別急,抽根菸靜一靜。

然後,我就想時不時現在都用了什麼黑科技導致之前的反編譯工具過時了,Damn Right! 然後我就在這個網址找到了我想要的內容:https://ibotpeaches.github.io/Apktool/ ,果然和我想的一樣,這個工具目前支持的 jdk 版本就是 1.7,然後開始下載最新的 Apktool,裏面有 apktool.bat 和apktool.jar,然後把它們統統放到 c://windows 目錄下就可以了,這樣就省得再配置環境變量了。這樣在運行下面的命令就可以了:

apktool d test.apk

另外,還有個工具叫 Android 逆向助手,不知道大家聽過沒有,我們可以把新下載的 apktool.jar 和 apktool.bat 文件放到逆向助手的 lib 目錄下,替換源文件,這樣就還可以使用圖像化界面來操作反編譯 Apk 了,有沒有很方便。

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