Android 反編譯apk

工具介紹:

    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

 

一、使用apktool反編譯apk獲得資源文件

 

使用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的資源文件

二、使用dex2jar反編譯apk獲得Java源代碼

 將要反編譯的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或其餘

相關文章
相關標籤/搜索