android APK反編譯教程

反編譯前奏

1、下載要分析的APK


2、apk文件,將後綴改爲zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;


源碼反編譯步驟
1、解壓下載的dex2jar(點擊下載),把 class.dex 拷貝到 dex2jar.bat 所在目錄,直接拖動 class.dex 到 dex2jar.bat,生成 classes.dex.dex2jar.jar。


2、用 rar 解壓出 jar 文件中的 class 文件,然後 用jad 或 DJ Java Decompiler 反編譯工具將 .class 文件反編譯成 .java 文件

在cmd下執行如下命令:

jad -o -r -s java -d src *.class

此命令將批量反編譯.class文件至src目錄


3、運行 JD-GUI工具(綠色軟件)(點擊下載),打開上面的 jar 文件,在File下有個 Save JAR Source,它可以生成 src 源代碼。


資源文件反編譯步驟

首先還是下載工具,這次用到的是apktool

下載地址:http://code.google.com/p/android-apktool/downloads/list

下載:apktool1.5.2.tar.bz2 和 apktool-install-windows-r05-ibot.tar.bz2(兩個包都下載)

具體步驟:

將下載的兩個包解壓到同一個文件夾下,應該會有三個文件:aapt.exe,apktool.bat,apktool.jar

在命令行下定位到apktool.bat文件夾,輸入以下命令:apktool d C:\*.apk C:\*文件夾,如下圖:

 

命令行解釋:apktool   d   [apk文件 ]   [輸出文件夾]

反編譯的文件如下(AndroidManifest.xml爲例):


特別注意:你要反編譯的文件一定要放在C盤的根目錄裏


將反編譯完的文件重新打包成apk,很簡單,輸入apktool b c:\***文件夾(你編譯出來文件夾)即可,命令如下:

 

打包apk後的文件在目錄C:\HelloAndroid下,生成了兩個文件夾:

build

dist

其中,打包生成的HelloAndroid.apk,在上面的dist文件夾下,Ok


通過以上步驟可以反編譯源碼及資源文件,然後將其合併至一個工程目錄,在eclipse開發環境裏通過如下步驟導入生成的工程文件

New->Android Project->Create project from exist ing source

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