天天看點

反編譯apk(ubuntu14.04)

1.在linux系統下反編譯用到的工具:

     dex2jar,jd-gui,apktool

2.首先下載下傳三個軟體包https://pan.baidu.com/s/1b9lhcq,https://pan.baidu.com/s/1o8K8lWQ,https://pan.baidu.com/s/1i4VX24H

   其中這裡提供的apktool貌似是2.1版本的,如果下面使用時出現“Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file”這樣的錯誤,可到官網https://ibotpeaches.github.io/Apktool/install/下載下傳更新的版本。

  根據官網中的提示一步步操作:

      将1中連結内的内容儲存為apktool檔案;

      下載下傳2中的apktool.jar(下載下傳得到的會是apktool2.*.jar,重命名一下即可);

      将兩者移動到/usr/local/bin目錄下,并在該目錄下更改權限sudo chmod +x apktool

3.一切準備就緒,接下來進行反編譯:

 a.将需要反編譯的**.apk放到apktool目錄下,執行  ./apktool d **.apk ,可生成名為**的檔案夾,可從中檢視AndroidManifest.xml等源碼資訊;

    b.解壓dex2jar,将要反編譯的**.apk字尾修改為.zip,然後解壓檔案,在解壓後的檔案中可以找到classes.dex檔案,将其拷貝到dex2jar.sh的同級目錄下,然後在該目錄下執行 ./dex2jar.sh classes.dex,進而産生一個classes.dex2jar.jar檔案;

 c.解壓jd-gui,正常情況下,輕按兩下jd-gui即可運作,如果不行,則可能是缺少對應的32位依賴庫,運作

       “ sudo apt-get install libgtk2.0-0:i386 libxxf86vm1:i386 libsm6:i386 lib32stdc++6 ”即可。然後File->open File->classes-dex2jar.jar檔案,便可以檢視源代碼了。

繼續閱讀