[英]Reverse engineering from an APK file to a project
有兩個有用的工具可以從未知的 APK 文件生成 Java 代碼(粗略但足夠好)。
從dex2jar下載 dex2jar 工具。
使用該工具將 APK 文件轉換為JAR : Windows:
$ d2j-dex2jar.bat demo.apk dex2jar demo.apk -> ./demo-dex2jar.jar
MacOS/Linux:
$ d2j-dex2jar.sh -f demo.apk -o demo.jar
生成 JAR 文件后,使用JD-GUI打開 JAR 文件。 您將看到 Java 文件。
輸出將類似於:
然后您可以使用其他工具從 APK 文件中檢索 AndroidManifest.xml 和資源文件(如圖像、翻譯等)。
首先,我推薦this
視頻可能會清除你所有的疑慮
如果沒有,請通過它
Procedure for decoding .apk files, step-by-step method:
Step 1:
創建一個新文件夾並將 .apk 文件放入其中(您要解碼)。 現在將此.apk
文件的擴展名重命名為.zip
(例如:從 filename.apk 重命名為 filename.zip)並保存它。
如果在轉換為 .zip 時出現問題,請參閱link
獲得 .zip 后,您將獲得 classes.dex 文件等。在此階段,您可以看到 drawable 但不能看到 xml 和 java 文件,所以繼續。 如果您沒有看到擴展通過檢查配置
Step 2:
現在將這個 zip apk 文件解壓縮到同一文件夾中。 現在從此link
下載 dex2jar
並將其解壓縮到同一文件夾中。 現在打開命令提示符並將目錄更改為該文件夾。
然后編寫dex2jar classes.dex
並回車。 現在您將在同一文件夾中獲得classes.dex.dex2jar
文件。
然后下載java反編譯器
現在雙擊 jd-gui 並單擊打開文件。 然后從該文件夾打開classes.dex.dex2jar
文件。 現在您獲得類文件並按 src 名稱保存所有這些類文件(單擊文件,然后在 jd-gui 中單擊“保存所有源”)。 解壓縮該 zip 文件(classes_dex2jar.src.zip)
,您將獲得該應用程序的所有 java 文件。
在這個階段,你得到了 java 源代碼,但 xml 文件仍然無法讀取,所以繼續。
Step 3:
現在打開另一個新文件夾並放置這些文件
放入要解碼的 .apk 文件
下載 Apktool for windows v1.x
和Apktool
使用谷歌安裝窗口並放在同一個文件夾中
使用google下載framework-res.apk文件並放在同一個文件夾中(並非所有apk文件都需要framework-res.apk文件)
打開命令窗口
導航到 APKtool 的根目錄並鍵入以下命令: apktool if framework-res.apk.
上面的命令應該導致Framework installed ...
了Framework installed ...
Step 4:
最后我們得到了res/
以及項目的java代碼,這是我們開始時的目標。
PS
如果您無法通過上述步驟獲取 res 文件夾,請安裝新的apktool
- 是否安裝了 Java 1.7? 安裝 Apktool 2.x
- 是否安裝了 Java 1.6 或更高版本? 安裝 Apktool 1.x
Enjoy and happy coding
沒有軟件,沒有太多的步驟..
只需上傳您的 APK 並從該站點獲取您的所有資源..
https://www.apkdecompilers.com/
該網站將反編譯嵌入在 APK 文件中的代碼並提取文件中的所有其他資產。
注意:我反編譯我的 APK 文件並在一分鍾內從本網站獲取代碼
更新 1 :
我找到了另一個在線反編譯器站點,
http://www.javadecompilers.com/apk/ - 不連續工作要求彈出窗口阻止
更新 2:
我在 Play 商店找到了 apk 反編譯器應用程序,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
我們可以在我們的android手機中反編譯apk文件。 並且我們還可以查看此應用程序中的 java 和 xml 文件
更新 3:
我們可以使用Android studio 2.2版本中的另一個選項Analyze APK feature
構建 -> 分析 APK -> 選擇你的 APK -> 它給出結果
有一種新方法可以做到這一點。
Android Studio 2.2 具有 APK 分析器,它將提供有關 APK 的大量信息,請在此處查看:- http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
對於 Android 平台,您可以嘗試ShowJava ,可從 Play 商店獲得。
您可以通過應用程序界面查看生成的代碼,生成的 java 文件和文件夾結構存儲在/sdcard
中的ShowJava
文件夾中,以及轉換生成的.jar
文件。
該應用程序是免費的,主視圖底部有一個廣告橫幅,但有一個應用程序內購買選項(3.99 美元)可以將其刪除。 除了移除廣告橫幅外,應用內購買不會添加任何功能。
披露:我不是該應用程序的開發者,也不與他有任何關聯。
試試這個工具: https : //decompile.io ,它在 iPhone/iPad/Mac 上運行
請按照以下步驟執行此操作或簡單地使用apkToJava gem進行此過程,它甚至會負責安裝所需的工具以使其工作。
如果您正在尋找專業的替代方案,請查看 PNF Software 的JEB Decompiler 。
有一個演示版本可以讓您反編譯大多數代碼。
以下是一些可用於執行從 APK 文件到源代碼的逆向工程的工具:
您可能想要使用的另一個工具是APK Studio它依賴於第三方工具:Apktool、jadx、ADB 和 Uber APK 簽名器,您需要單獨下載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.