標籤:
一、使用apktool 將 apk反編譯產生程式的原始碼和圖片、XML配置、語言資源等檔案
具體步驟:
(1)下載反編譯工具包:apktool 官方的打不開
http://apktool.shoujifans.com/2014/12/21.html 裡有網盤下載
需要下載下邊兩個檔案
- apktool1.5.2.tar.bz2
- apktool-install-linux-r05-ibot.tar.bz2
(2)將下載好的兩個包解壓到“同一個”檔案夾apktool裡面。 注意是同一個
(3)在命令列下定位到apktool檔案夾,輸入以下命令:java -jar apktool.jar d android.apk,出現:說明反編譯成功
java -jar apktool.jar d [apk檔案 ] [輸出檔案夾],輸出檔案夾是可選的,如果沒有指定輸出到哪個檔案夾下,那麼預設是當前檔案夾。
我是執行 ./apktool d xxx.apk 成功的
d表示decode,在目前的目錄下就會產生一個名為xxx的目錄,裡面就是反編譯出來的各種資源檔,其中res表示資源檔,smali表示原始碼,不過是位元組碼,不能直接查看。
二、下載apk反編譯工具dex2jar,是將apk中的classes.dex轉化成jar檔案
具體步驟:
(1)下載dex2jar
dex2jar :
http://sourceforge.net/projects/dex2jar/files/?source=navbar
(2)將 要反編譯的apk檔案解壓,得到其中的classes.dex,它就是java檔案編譯再通過dx工具打包而成的
(3)在命令列下定位到dex2jar-2.0檔案夾,運行
sh dex2jar.sh ~/apk/classes.dex(dex檔案的目錄)
最終產生
classes_dex2jar.jar,:
dex2jar-2.0版本,解壓出來的目錄下只有 d2j-dex2jar.sh,沒有dex2jar.sh。執行了一下,報錯。
下載了舊版本,執行成功。。。後來把2.0下的檔案替換到舊版本中了
三、使用JD-Eclipse外掛程式開啟class檔案
(1)這時候得到了 jar檔案。可以下載JD-GUI。也可以下載Eclipse中的外掛程式JD-Eclipse。開啟jar檔案中的.class檔案
(2)參考博文 http://my.oschina.net/mynote/blog/85083 的安裝方法
JD-Eclipse的地址http://java.decompiler.free.fr/?q=jdeclipse
OSC地址:http://www.oschina.net/p/jd-gui
線上安裝的地址 http://java.decompiler.free.fr/jd-eclipse/update
下載鏡像檔案的地址: http://jd.benow.ca/jd-eclipse/downloads/jdeclipse_update_site.zip
(3)採用的是鏡像檔案的安裝。
安裝過程:
Help—>Install new Software—>add—>Archive(選擇zip檔案)/填寫url —>選擇安裝
(4)重啟後配置class預設開啟檔案(Class file Editor) 但是我重啟Eclipse發現不用配置,配置好了。其實就是把預設的開啟檔案設定為Class file Editor。
window—>Preferences—>General—>Editors—>File Associations—>(選擇)*.class without source——>(在下面的Associated editors欄目中)add—>Class file Editor(選擇添加)—>(選擇新的開啟檔案選擇預設)Default
配置
這時候已經可以開啟jar包中的class檔案了
『原』在Linux下反編譯Android .apk檔案 使用apktool dex2jar JD-eclipse