apktool java
做用:資源文件獲取,能夠提取出圖片文件和佈局文件進行使用查看windows
下載地址:https://bitbucket.org/iBotPeaches/apktool/downloads工具
dex2jar佈局
做用:將apk反編譯成java源碼(classes.dex轉化成jar文件)
下載地址:http://sourceforge.net/projects/dex2jar/files/ui
jd-guispa
做用:查看APK中classes.dex轉化成出的jar文件,即源碼文件
下載地址:http://jd.benow.ca/.net
下載完成後如圖:命令行
若是上面的文件沒有下載成功就本身在其餘地方下載,網上搜索下仍是不少的,只是注意下比較新的版本就行了哈(版本太舊會致使反編譯失敗),這裏能夠將這三個一塊兒下載----> CSDN下載(PS:沒有積分的能夠直接問我要文件,我也不知道爲何一傳上去就默認要5分了)
3d
將【dex2jar-2.0.zip】和【jd-gui-windows-1.4.0.zip】分別解壓到當前文件夾,接下來開始使用blog
使用cmd將目錄切換到當前文件夾的目錄下,而後輸入
java -jar 【apktool的jar包名稱】 d -f 【要反編譯的apk路徑】 -o 【反編譯後保存的文件名】
須要注意若是出現」Input file was not found or was not readable"的問題,
是由於apktool升級到2.0以上時,使用方式已經替換,格式爲:apktool d [-s] -f <apkPath> -o <folderPath>
而後目錄下生成了對應文件夾,打開裏面就是apk的資源文件
將要反編譯的APK後綴名改成.rar或者 .zip,而後解壓,獲得classes.dex文件(它就是java文件編譯再經過dx工具打包而成的)
將獲取到的classes.dex放到以前解壓出來的工具【dex2jar-2.0】文件夾內:
在命令行下定位到dex2jar.bat所在目錄,輸入"d2j-dex2jar classes.dex",效果以下:
在這裏的執行過程當中若是沒報錯,那麼就表示已經反編譯成功了
命令執行完成以後,在當前目錄下就能夠看到生成的Jar文件:
反編譯classes.dex獲得classes-dex2jar.jar文件以後,就可使用【jd-gui】工具將class文件反編譯成java源代碼了
使用jd-gui打開classes-dex2jar.jar就能夠看到源代碼了,以下圖所示:
JD-GUI雖然能夠將class反編譯成java源代碼,可是對於一些被混淆過的class,反編譯的效果就不是那麼理想了,被混淆過的class反編譯後的效果圖(類文件名稱以及裏面的方法名稱都會以a,b,c....之類的樣式命名):
到這裏就OK了,反編譯成功。
須要注意的是
出現這個提示時說明你的jdk在1.8或以上,jd-gui只支持到1.7版本,你能夠換成用Procyon-Decompiler或其餘