APK的反編譯工具,Apktool,Dex2jar,JD-GUI等使用

http://blog.csdn.net/lostinai/article/details/44201971java

http://blog.csdn.net/stay_foolish_one/article/details/41659723android

http://blog.163.com/ppy2790@126/blog/static/1032422412013112221910595/ (mac下)windows

1、用Apktool反編譯和編譯的方法

評價:它僅將DEX文件反編譯成Smali源碼;XML文件能生成明碼格式,且較好!
在命令行下,定位到apktool.bat文件夾,用如下命令進行反編譯!
命令格式:apktool.bat d -f [apk文件] [輸出文件夾]
好比:apktool.bat d -f SerialPort.apk SerialPort
將反編譯完的文件從新打包成apk,也很簡單!
命令格式:apktool.bat b [反編譯輸出的文件夾]
好比:apktool.bat b SerialPort工具

Android-apktool的官方網址:
https://code.google.com/p/android-apktool/downloads/listui

2、反編譯Apk獲得Java源代碼(windows)
首先要下載兩個工具:dex2jar和JD-GUIgoogle

前者是將apk中的classes.dex轉化成Jar文件,而JD-GUI是一個反編譯工具,能夠直接查看Jar包的源代碼。spa

首先將apk文件,將後綴改成zip,解壓,獲得其中的classes.dex,它就是java文件編譯再經過dx工具打包而成的;.net

解壓下載的dex2jar,將classes.dex複製到dex2jar.bat所在目錄。在命令行下定位到dex2jar.bat所在目錄命令行

運行code

dex2jar.bat    classes.dex

生成

classes.dex.dex2jar.jar

 

2.dex2jar反編譯(mac下)

1)將apk文件後綴名直接改成.zip,並解壓。獲得其中的classes.dex文件 ,它就是java源代碼通過編譯再經過dx工具打包而成的。

2)將classes.dex文件複製到dex2jar所在的文件夾。

3)命令行下定位到dex2jar目錄,運行

   sh dex2jar.sh classes.dex

生成 classes_dex2jar.jar

用jd gui打開就能夠看到源代碼了。

相關文章
相關標籤/搜索