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
評價:它僅將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打開就能夠看到源代碼了。