Как декомпилировать файл APK или DEX на платформе Android? [закрыто]


138

Можно ли декомпилировать пакет APK или файл DEX на платформе Android? Существуют ли инструменты, которые могут декомпилировать файл APK?


Вы подразумеваете под программно?
— Люцифер

Эта ссылка имеет каждый ответ, который вам нужен. stackoverflow.com/questions/12732882/…
— Мандар Какаде

в магазине 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

Рупеш Ядав @ В этом процессе некоторый код строки не соответствует исходному коду. www.decompileandroid.com/ из этой сети я могу декомпилировать свой код, но оба кода отличаются, почему?
— Шайлендр Сингх

1
@Shailendrsingh вышеописанное является стандартным процессом декомпиляции APK, и в случае, когда в приложении включена обфускация, код декомпилированных классов может отличаться.
— Рупеш Ядав,

Хорошо, если в приложении включена обфускация. Как я могу получить оригинальный код, написанный в приложении?
— Шайлендр Сингх

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

ProGuard полностью удаляет R $ ​​string.class, но декомпиляторы Android могут восстановить всю информацию из resources.arsc. Я думаю, что этот DecompileAndroid еще не реализовал такую ​​сложную функцию
— Джеки,

11

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


5

APK только в zipформате. Вы можете распаковать его как любой другой .zipфайл.

Вы можете декомпилировать .dexфайлы с помощью dexdumpинструмента, который предоставляется в Android SDK.

См. 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

РЕДАКТИРОВАТЬ: 28-02-2015

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

Если это не помогает, проверьте эту ссылку


Приложение никогда не работало для меня. Он бесконечно пытается выполнить «Декомпиляцию в Java», и они обычно
— вылетают

тогда вы должны следовать этому ответу 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
— Ранджит Кумар

@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/, который также предоставит вам файлы xml 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.