Как декомпилировать файл 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.