Як декомпілювати файл APK або DEX на платформі Android? [зачинено]


138

Чи можливо декомпілювати пакет APK або файл DEX на платформі Android? Чи є інструменти, які можуть декомпілювати файл APK?


ви маєте на увазі під програмним шляхом?
Люцифер

На цьому посиланні є кожна відповідь, яка вам потрібна. stackoverflow.com/questions/12732882 / ...
Mandar Kakade

в магазині Play багато хто може його пошукати ..
MarmiK

Відповіді:


164

Для decompile an APKподачі потрібно три інструменти .

  1. Dex2jar - Інструменти для роботи з файлами android .dex та java .class

  2. ApkTool - інструмент для зворотної інженерії Android apk файлів

  3. JD-GUI - Java Decompiler - це інструмент для декомпіляції та аналізу Java-5 “байт-коду” та пізніших версій.

Докладніше про те, як використовувати dextojar . Сподіваюся, що це допоможе вам і всім! :)


Я думаю, що всі ці інструменти працюють на платформі Windows. чи можу я імпортувати ці файли jar в мій проект Android, а потім запустити на платформі android
user3151261

Rupesh Yadav @ У цьому процесі деякий код рядка не відповідає сумі оригіналу. www.decompileandroid.com/ з цього Інтернету я міг декомпілювати свій код, але обидва коди відрізняються, чому?
Shailendr singh

1
@Shailendrsingh вищезазначений - це стандартний процес декомпіляції APK, і в тому випадку, коли в додатку включено обфускування, код декомпільованого класу може відрізнятися.
Рупеш Ядав

ОК, якщо в програмі включено обфускування, як я можу отримати оригінальний код, який записаний у додатку?
Shailendr singh

2
@Shailendrsingh можливо лише в тому випадку, якщо у вас є файл зворотного відображення, інакше ви не можете отримати 100% -го файлу APK.
Рупеш Ядав

32

Інтернет-декомпілятор APK http://www.decompileandroid.com/
http://www.javadecompilers.com/
Додаток для декодування APK для Windows http://forum.xda-developers.com/showthread.php?t=2493107

Оновити 2015/12/04
ClassyShark ви можете відкрити файли APK / Zip / Class / Jar та проаналізувати їх вміст. https://github.com/google/android-classyshark


3
На жаль, DecompileAndroid не декомпілює strings.xml правильно
goRGon

ProGuard повністю видаляє R $ string.class, але декомпілятори Android можуть реконструювати всю інформацію з ресурсів.arsc. Я думаю, що цей DecompileAndroid ще не реалізував подібну складну функцію
Джекі

11

Я створив інструмент, який поєднує в собі dex2jar, jd-core та apktool: https://github.com/dirkvranckaert/AndroidDecompiler Просто перегляньте проект на локальному рівні та запустіть сценарій як задокументовано, і ви отримаєте всі ресурси та джерела декомпільовані.


5

APK просто у zipформаті. Ви можете розпакувати його, як і будь-який інший .zipфайл.

Декомпілювати .dexфайли можна за допомогою dexdumpінструменту, який надається в SDK для Android.

Дивіться https://stackoverflow.com/a/7750547/116938 для отримання додаткової інформації про dex.


5

Ви можете декомпілювати apk на пристрої Android за допомогою цього: https://play.google.com/store/apps/details?id=com.njlabs.showjava

Для отримання додаткової інформації дивіться тут: http://forum.xda-developers.com/showthread.php?t=2601315

EDIT: 28-02-2015

Для декомпіляції apk ви можете скористатися цим інструментом: https://apkstudio.codeplex.com/license

Якщо це не допомагає перевірити це посилання


Додаток ніколи не працював для мене. Він нескінченно намагається виконати "Decompiling to java", і вони зазвичай виходять з ладу ..
goRGon

то вам слід слідкувати за цією відповіддю stackoverflow.com/a/23924665/2736039 ці рішення працюють дуже добре
Ultimo_m

це рішення має ще одну проблему - дивіться мій коментар там;)
goRGon

Я знаю цю проблему, і щоб вирішити, що я використовую Apk Tool. Наскільки я знаю, ви не можете знайти інструмент, який виконує всю роботу. Ви повинні використовувати їх усіх :)
Ultimo_m

перевірити мою відредаговану відповідь. Я знайшов новий інструмент
Ultimo_m

5

http://www.decompileandroid.com/

Цей веб-сайт декомпілює код, вбудований у файли APK, та вилучить усі інші активи у файлі.


2
дуже приємний веб-сайт! Я ним користувався рік. Також є альтернатива: javadecompilers.com/apk , яка використовує інший підхід (Jadx замість Dex2jar + Jad)
Ендрю Рукін

@JqueryNinja перевіри це на альтернативу - stackoverflow.com/a/27981520/3879847
Ranjith Kumar

@RanjithKumar javadecompilers.com/apk після довгого очікування в черзі, веб-сайт декомпілював мій apk. Однак деякі заняття java відсутні. Хіба немає іншої альтернативи?
iOSAndroidWindowsMobileAppsDev

@JqueryNinja використання showjava apk. Це краще, ніж інші. але реклама більше .. play.google.com/store/apps/details?id=com.njlabs.showjava
Ранджіт Кумар

@RanjithKumar showjava використовує javadecompilers.com/apk або jadx, який не декомпілює всі класи java
iOSAndroidWindowsMobileAppsDev

3

Ви також можете скористатися програмою apktool: http://ibotpeaches.github.io/Apktool/, яка також надасть вам файли Res. Поряд з цим ви також можете використовувати систему dex2jar, яка виведе файл dex в apk в jar-файл, який можна відкрити за допомогою JD-GUI та експортувати в стандартні файли Java.


0

Також ви можете використовувати Android Multitool. Ви можете внести незначні зміни в додаток, як-от приховати елементи графічного інтерфейсу або змінити невелику частину логіки та відновити apk. Прості у використанні та декомпіляції / перекомпіляції файли apk та jar. Ось посилання, яке ви можете оформити.

Ура

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.