反編譯APK資原始檔與原始碼

Diy_os發表於2015-11-23
反編譯APK,學習別人的原始碼是一種提高的方法,不能竊取別人的成果進行商業行為。反編譯APK,分為兩部分,分別是反編譯資原始檔和原始碼(.class)。下面實驗的系統環境是win10。
一.反編譯資原始檔
用到的工具是apktool,可以去官網上下載最新版本的apktool,解壓後,把apk檔案移到同一目錄下,然後在dos下執行: apktool   d -f XXX.apk  [解壓存放目]
下面是反編譯ActivityTest.apk資原始檔的截圖:



已經生成了目錄ActivityTest,當然上面你可以自定義反編譯後檔案存放的目錄,預設的目錄名稱是當前apk名稱,下面開啟目錄:


已經得到了資原始檔。

.反編源代
需要用到的工具是dex2jar和JD-GUI,可以到官網上下載後,分別解壓。下面我用的是dex2jar-2.0,jd-gui-0.3.5.windows 把XXX.apk檔案,修改字尾apk為rar或者zip,然後解壓後,得到classes.dex檔案,把該檔案移動到與dex2jar解壓後的同一目錄下,執行行:dex2jar.bat classes.dex



已經生成了classes-dex2jar.jar檔案,但是生成的是位元組碼,我們不能直接檢視,需要用jd-gui工具檢視:


原始碼看的一清二楚。

上面只是簡單的介紹瞭如何反編譯apk檔案,所用到的工具分享在網盤中。地址:提取碼 d70a
有朋友可能會問,如何防止反編譯呢,Anroid提供了混淆檔案proguard,而且可以透過gui介面來操作,感興趣的朋友可以嘗試。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29876893/viewspace-1844900/,如需轉載,請註明出處,否則將追究法律責任。

相關文章