Декомпилятор apk для андроид
Полная декомпиляция Android приложений, декомпиляция приложений в исходный Java код
Порой при разработке не понимаешь как реализовать определенную функцию, которую видел в чужом приложении, или просто изучить стороннее приложение охота, для этого существует декомпиляция приложений.
В данной статье я покажу как декомпилировать Андроид приложения из *.apk файла в исходный код.
Все приложения являются бесплатными, мультиплатформенными и открытыми (кроме Java Decompiler, у него закрыт исходный код).
Их можно скачать с официального сайта.
Инструкцию буду проводить для ОС Windows.
- Качаем dex2jar-0.0.9.8.zip (номер версии может изменяться) и извлекаем все файлы в желаемую папку, например D:\Decompile .
- Качаем Java Decompiler, я использовал JD-GUI и извлекаем файлы для удобства в ту же папку, куда и dex2jar.
- Качаем apktool и apktool-install-windows-r04-brut1.tar.bz2 и извлекаем файлы уже в системную папку. По умолчанию C:\Windows. (Не забываем скачать второй архив)
- Берем нужный apk файл и кладем в папку с dex2jar и Java Decompiler. В примере приведу декомпиляцию приложения
Calculator.zip ( 66.18 КБ )
. (надо извлечь из архива). - Открываем Командную строку (Обработчик команд Windows) в вышеупомянутой папке (В папке по пустому месте при зажатой кнопке Shift нажимаем правую кнопку мыши и выбираем Обработчик команд Windows).
- Вводим команду dex2jar Calculator.apk и если все прошло хорошо, в той же папке появится файл Calculator.apk.dex2jar.jar
- Запускаем jd-gui и открываем полученный на предыдущем шаге файл. (На Windows 7 открывать с правами администратора и с совместимостью Windows XP SP3)
- Выбираем пункт меню File-Save All Sources и сохраняем.
- Извлекаем полученный zip архив.
- Помещаем полученную папку в папку src (надо предварительно создать).(Что бы получилась примерно такая структура D:\Decompile\Calculator\src\com\android)
- Опять же в командной строке вводим команду apktool d Calculator.apk Calculator, где Calculator.apk-имя пакета, Calculator-папка для декомпиляции
- Если все хорошо, тогда в указанной папке будут исходники в двух форматах (java и smali), ресурсы и файлы AndroidManifest.xml, apktool.yml
- Все готово, исходники получены. Правда после декомпиляции в коде есть, можно сказать, ошибки, я заметил пока только что вместо true и false стоят 1 и 0 соответственно.
P.S. Если хочется импортировать полученный код в IDE Eclipse (File-Import), тогда положите содержимое этого архива(Eclipse.zip ( 1.44 КБ )
) в папку с проектом, предварительно изменив на третьей строке PROJECT NAME PROJECT NAME на желаемое название, в моем примере «Calculator» в файле .project
P.P.S. Если apk файл был пропущен при компиляции через обфускатор (proguard), тогда полученный код будет плохо читаем.
Источник: http://boomik.ru/polnaya-dekompilyaciya-android-prilozhenij
Сообщение отредактировал KEEPERekb — 09.06.15, 14:51
Источник
Декомпилятор apk для андроид
Полная декомпиляция Android приложений, декомпиляция приложений в исходный Java код
Порой при разработке не понимаешь как реализовать определенную функцию, которую видел в чужом приложении, или просто изучить стороннее приложение охота, для этого существует декомпиляция приложений.
В данной статье я покажу как декомпилировать Андроид приложения из *.apk файла в исходный код.
Все приложения являются бесплатными, мультиплатформенными и открытыми (кроме Java Decompiler, у него закрыт исходный код).
Их можно скачать с официального сайта.
Инструкцию буду проводить для ОС Windows.
- Качаем dex2jar-0.0.9.8.zip (номер версии может изменяться) и извлекаем все файлы в желаемую папку, например D:\Decompile .
- Качаем Java Decompiler, я использовал JD-GUI и извлекаем файлы для удобства в ту же папку, куда и dex2jar.
- Качаем apktool и apktool-install-windows-r04-brut1.tar.bz2 и извлекаем файлы уже в системную папку. По умолчанию C:\Windows. (Не забываем скачать второй архив)
- Берем нужный apk файл и кладем в папку с dex2jar и Java Decompiler. В примере приведу декомпиляцию приложения
Calculator.zip ( 66.18 КБ )
. (надо извлечь из архива). - Открываем Командную строку (Обработчик команд Windows) в вышеупомянутой папке (В папке по пустому месте при зажатой кнопке Shift нажимаем правую кнопку мыши и выбираем Обработчик команд Windows).
- Вводим команду dex2jar Calculator.apk и если все прошло хорошо, в той же папке появится файл Calculator.apk.dex2jar.jar
- Запускаем jd-gui и открываем полученный на предыдущем шаге файл. (На Windows 7 открывать с правами администратора и с совместимостью Windows XP SP3)
- Выбираем пункт меню File-Save All Sources и сохраняем.
- Извлекаем полученный zip архив.
- Помещаем полученную папку в папку src (надо предварительно создать).(Что бы получилась примерно такая структура D:\Decompile\Calculator\src\com\android)
- Опять же в командной строке вводим команду apktool d Calculator.apk Calculator, где Calculator.apk-имя пакета, Calculator-папка для декомпиляции
- Если все хорошо, тогда в указанной папке будут исходники в двух форматах (java и smali), ресурсы и файлы AndroidManifest.xml, apktool.yml
- Все готово, исходники получены. Правда после декомпиляции в коде есть, можно сказать, ошибки, я заметил пока только что вместо true и false стоят 1 и 0 соответственно.
P.S. Если хочется импортировать полученный код в IDE Eclipse (File-Import), тогда положите содержимое этого архива(Eclipse.zip ( 1.44 КБ )
) в папку с проектом, предварительно изменив на третьей строке PROJECT NAME PROJECT NAME на желаемое название, в моем примере «Calculator» в файле .project
P.P.S. Если apk файл был пропущен при компиляции через обфускатор (proguard), тогда полученный код будет плохо читаем.
Источник: http://boomik.ru/polnaya-dekompilyaciya-android-prilozhenij
Сообщение отредактировал KEEPERekb — 09.06.15, 14:51
Источник
Декомпилятор apk для андроид
Краткое описание:
Инструментарий для работы с файлами apk и apks
Описание:
Apktool — декомпиляция и компиляция установочных пакетов Android® (*.apk), в том числе и системных приложений.
Перевод приложений, в том числе и в автоматическом режиме (поддерживается более 100 языков).
Менеджер установленных приложений.
Настраиваемый текстовый редактор с подсветкой синтаксиса и подсказками, с возможностью просмотра исходного java-кода, с возможностью импорта собственных тем подсветки кода.
Удобный файловый менеджер с множеством функций.
Работа с различными типами установочных файлов — *.apk, *.apks, *.xapk, *.apkm.
Антисплит — слияние Android App Bundle (сплит) в один установочный файл, а так же установка и извлечение таких файлов.
Создание собственной подписи и подписание приложений.
Быстрое редактирование названия приложения, имени пакета (клонирование приложения), иконки приложения и прочего, без необходимости пересборки.
Root-права не нужны.
Приложение полностью бесплатно, поддерживается старыми устройствами начиная с Android 4.0 и не содержит никакой рекламы и аналитики.
Требуется Android: Android 4.0+
Русский интерфейс: Да
Версия: 2.4.0-200715Apktool M_v2.4.0-200715(2020071501).apk ( 7.96 МБ )
Вопросы по редактированию содержимого apk-файлов обсуждаются не здесь, а в Клубе Mod APK
Сообщение отредактировал gar_alex — 03.12.21, 23:06
kormax2, у разработчика спроси, он здесь сидит. Я просто его творение сюда залил под его согласием, т.к проги здесь не было.
Сообщение отредактировал AnimeDroid_Chan — 29.08.20, 20:53
Сообщение отредактировал Maximoff — 11.09.20, 12:16
Пробовал создать собственную подпись, и собрать приложение, но оно не подписывается с пользовательской подписью. С дефолтной всё норм.
_Maximoff_, тип ключа: любой (пробовал все)
Вводимые данные: Алиас, Пароль хранилища, Пароль ключа, Срок действия и Имя
Сообщение отредактировал $_Vladislav — 12.09.20, 20:05
_Maximoff_,
I: Using Apktool 2.4.0 on base.apk
I: Copying raw resources.
I: Baksmaling classes.dex.
I: Copying assets and libs.
I: Copying unknown files.
I: Copying original files.
I: Using Apktool 2.4.0 on split_config.armeabi_v7a.apk
I: Copying raw manifest.
I: Copying assets and libs.
I: Copying unknown files.
I: Copying original files.
I: Find odex file.
W: Deodex failed
W: Attempt to get length of null array
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:187)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:185)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:134)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:122)
W: ru.maximoff.apktool.c.a.a(AbstractTask.java:38)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:76)
W: ru.maximoff.apktool.c.a.doInBackground(Unknown Source:2)
W: android.os.AsyncTask$3.call(AsyncTask.java:378)
W: java.util.concurrent.FutureTask.run(FutureTask.java:266)
W: android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
W: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
W: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
W: java.lang.Thread.run(Thread.java:919)
I: Using Apktool 2.4.0 on split_config.en.apk
I: Copying raw resources.
I: Copying assets and libs.
I: Copying unknown files.
I: Copying original files.
I: Find odex file.
W: Deodex failed
W: Attempt to get length of null array
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:187)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:185)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:134)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:122)
W: ru.maximoff.apktool.c.a.a(AbstractTask.java:38)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:76)
W: ru.maximoff.apktool.c.a.doInBackground(Unknown Source:2)
W: android.os.AsyncTask$3.call(AsyncTask.java:378)
W: java.util.concurrent.FutureTask.run(FutureTask.java:266)
W: android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
W: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
W: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
W: java.lang.Thread.run(Thread.java:919)
I: Using Apktool 2.4.0 on split_config.xhdpi.apk
I: Copying raw resources.
I: Copying assets and libs.
I: Copying unknown files.
I: Copying original files.
I: Find odex file.
W: Deodex failed
W: Attempt to get length of null array
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:187)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:185)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:134)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:122)
W: ru.maximoff.apktool.c.a.a(AbstractTask.java:38)
W: ru.maximoff.apktool.c.m.a(DecodeTask.java:76)
W: ru.maximoff.apktool.c.a.doInBackground(Unknown Source:2)
W: android.os.AsyncTask$3.call(AsyncTask.java:378)
W: java.util.concurrent.FutureTask.run(FutureTask.java:266)
W: android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
W: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
W: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
W: java.lang.Thread.run(Thread.java:919)
Оригинал здесь — Wink (Пост CopyMist #100308886)
Клон VOD Lite v2 armv7 ATVWink_v1.23.1_vod_tv_lite_v2_clone.apk ( 12.15 МБ )
Не работает поиск (вылет)
Сообщение отредактировал gar_alex — 15.10.20, 10:30
Тип: Beta
Версия: 2.4.0-201016-beta
Краткое описание: Beta
Что нового:
— исправление ошибок (в частности: исправлен запуск на Android версии ниже 4.4, исправлена ошибка быстрого редактирования, найденная gar_alex);
— оптимизация некоторых функций;
Скачать:Apktool M v2.4.0-201016-beta(2020101601).apk ( 8.11 МБ )
Так же, тут до сих пор нет плагина для расшифровки файлов *.apkm от APKMirror, исправляю (требуется Android 4.4 и выше):Apktool M — UnApkm v1.0(1).apk ( 1.04 МБ )
Источник