閱讀685 返回首頁    go 阿裏雲 go 技術社區[雲棲]


linux下的APK反編譯軟件及過程介紹 .

需要工具:
  1.apktool apk打包工具
  下載地址:https://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2
  安裝:直接解壓即可,是一個apktool.jar文件,通過

  1. $java -jar apktool.jar  
  $java -jar apktool.jar

  來運行,依賴於java運行環境

  2.dex2jar dex轉化jar工具
  下載地址:https://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip
  安裝:直接解壓即可,是一個文件夾,裏麵包含了很多文件,通過

  1. $./dex2jar.sh  
$./dex2jar.sh

  來運行

  3.如果你沒有unzip,安裝此解壓工具, zip解壓縮工具,用於解壓jar包(jar包是zip壓縮的,所以可以用其它工具代替)
  下載地址:ubuntu $sudo apt-get install unzip
  安裝: $sudo apt-get install unzip

  1. $upzip [src_path] -d [dst_path]  
        $upzip [src_path] -d [dst_path]

  來運行

  4.jad .class文件反編譯工具
  下載地址:https://www.varaneckas.com/jad

       https://varaneckas.com/jad/jad158e.linux.static.zip
  安裝:直接解壓即可,是一個可執行文件,通過  

       ./jad

  來運行。需要說明的是,這個需要下載static版本的,如果不行的話,在去第一個鏈接裏找另一個下載。


  接下來,工具準備完畢了,最好設定一下環境變量,我們就可以反編譯apk了

  一、抽取apk資源

      執行: $java -jar apktool.jar d [source.apk]

  二、反編譯源碼

  (1)解壓apk

  1. $unzip [source.apk] -d [step_1]  
  $unzip [source.apk] -d [step_1]

  step_1指的是你所需要解壓到的目錄

  (2)進入step_1 目錄,找到classes.dex文件,將dex文件轉化成jar文件

  1. $dex2jar.sh classes.dex  
$dex2jar.sh classes.dex

  (3)獲得一個classes_dex2jar.jar文件,我們現在要再度解壓這個文件

  1. $upzip classes_dex2jar.jar -d [step_3]  
        $upzip classes_dex2jar.jar -d [step_3]

  step_3指的是你解壓到的目錄

  (4)我們獲得一個step_3目錄,我們接下來要反編譯該目錄下所有.class文件  

  1. $./jad -o -r -s  java -d  src step_3/**/*.class  
        $./jad -o -r -s  java -d  src step_3/**/*.class

       對於上麵的參數,可以直接執行./jad查看,或者Readme.txt查看

  (5)我們再度獲得一個src目錄,該目錄下就是反編譯好的源碼文件了。

也可以使用JD-GUI工具直接查看classes_dex2jar.jar的class文件。     


 如果以上命令不執行的話,查看目錄是否正確。

最後更新:2017-04-03 07:57:08

  上一篇:go SUSE(Linux操作係統)
  下一篇:go Welcome Docker to SUSE Linux Enterprise Server【水平有限,中英對照,求糾錯】