Открыть код программы Андроид

жесткий диск на моем ноутбуке просто разбился, и я потерял весь исходный код приложения, над которым я работал в течение последних двух месяцев. У меня есть только APK файл, который хранится в моей электронной почте, когда я отправил его другу.

есть ли способ, чтобы извлечь исходный код из этого файла APK?

автор: Jeroen Vannevel

16 ответов

простой способ: используйте онлайн-инструмент http://www.javadecompilers.com/apk, загрузить apk и получить исходный код.

процедура декодирования .файлы apk, пошаговый метод:

Шаг 1:

  1. создайте новую папку и скопируйте ее.файл apk, который вы хотите декодировать.
  2. теперь переименуйте расширение этого .apk файл .zip (например, переименовать из filename.apk для имени файла.ZIP) и сохраните его. Теперь вы можете доступ к классам.DeX файлы и т. д. На этом этапе вы можете видеть drawables, но не xml и java-файлы, поэтому продолжайте.

Шаг 2:

  1. теперь этот экстракт .zip-файл в той же папке (или новой папке).
  2. скачать dex2jar и извлечь его в ту же папку (или новую папку).
  3. ход занятия.dex файл на dex2jar папка.
  4. теперь откройте командную строку и измените каталог на эту папку (или новую папку). Тогда пиши d2j-dex2jar classes.dex (для Mac terminal или ubuntu напишите ./d2j-dex2jar.sh classes.dex ) и нажмите enter. Теперь у тебя есть занятия.Декс.dex2jar файл в той же папке.
  5. скачать Java decompiler, дважды щелкните по jd-gui, нажмите «Открыть файл» и откройте классы.Декс.dex2jar файл из этой папки: теперь вы получаете файлы классов.
  6. сохранить все эти файлы классов (в JD-gui нажмите Файл — > Сохранить все источники) по имени src. На этом этапе вы получаете источник java, но .xml-файлы по-прежнему не читаются, поэтому продолжайте.

Шаг 3:

теперь откройте другую новую папку

Как получить исходный код почти любого apk?

  1. положить в .apk файл, который вы хотите декодировать
  2. скачать последнюю версию apktool и окно установки apktool (оба могут быть скачано по той же ссылке) и поместите их в ту же папку
  3. откройте командное окно
  4. Теперь запустите команду apktool if framework-res.apk и далее
  5. apktool d myApp.apk (где myApp.apk обозначает имя файла, которое вы хотите декодировать)

теперь вы получаете папку с файлами в этой папке и можете легко читать xml-файлы apk.

Шаг 4:

это не какой-либо шаг, просто скопируйте содержимое обеих папок (в данном случае обеих новых папок)в одну

и наслаждайтесь исходным кодом.

автор: Prankul Garg

это альтернативное описание-на всякий случай, если кто-то застрял с описанием выше. Выполните следующие действия:

  1. скачать apktool.bat (или apktool для Linux) и apktool_.jar от http://ibotpeaches.github.io/Apktool/install/
  2. переименуйте файл jar сверху в apktool.jar и поместите оба файла в одну папку
  3. откройте окно dos ( cmd.exe ) и перейдите в эту папку; убедитесь, что установлена среда Java (для Linux также проверьте заметки о необходимых библиотеках)
  4. начало: apktool decode [apk file] промежуточный результат: файлы ресурсов, AndroidManifest.xml
  5. распакуйте файл APK с помощью распаковщика по вашему выбору промежуточный результат: classes.dex
  6. скачать и извлечь dex2jar-0.0.9.15.zip от JD-GUI или DJ Декомпилятор) результат исходный код
Читайте также:
Программа чтобы снимать видео на ПК

Примечание: не разрешается декомпилировать пакеты сторонних производителей; это руководство предназначено для восстановления личного исходного кода только из файла APK; наконец, результирующий код, скорее всего, будет запутан

Отладка APK файла в Android Studio без исходного кода

автор: Trinimon

пока вы можете декомпилировать свой APK файл, вы, вероятно, нажмете одну большую проблему:

он не собирается возвращать код, который ты написал. Вместо этого он будет возвращать все, что компилятор встроил, с переменными, заданными случайными именами, а также функциями, заданными случайными именами. Это может занять значительно больше времени, чтобы попытаться декомпилировать и восстановить его в код, который у вас был, чем начать все сначала.

к сожалению, такие вещи убил много проекты.
В будущем я настоятельно рекомендую изучить систему управления версиями, например CVS, SVN и git etc.

и как это сделать.

автор: Ryan Gooler

существует также новое приложение на Play Store С помощью которого можно декомпилировать apk (системные приложения тоже) и просмотреть исходный код прямо на вашем смартфоне. Она сохраняет файлы на SD карту, так что вы можете просмотреть его на вашем компьютере. Для этого не Требуется root или что-то еще.

просто установите и получайте удовольствие. Я думаю, что это самый простой способ декомпилировать приложение.

автор: Cilenco

apktool это лучшее, что вы можете попробовать. Я сохранил с ним xml, но, честно говоря, я не знаю, как он будет работать с ним .Java-код.

Я бы рекомендовал вам иметь репозиторий кода, даже если вы единственный кодер. Я использовал Проект Locker для моих собственных проектов. Это дает вам бесплатный SVN и Git РЕПО.

автор: Macarse

эти две статьи описывают, как сочетать использование apktool и dex2jar взять APK файл и создать проект Eclipse, который может создавать и запускать его.

  1. использовать apktool to получить файлы ресурсов из apk
  2. использовать dex2jar чтобы получить файл jar, содержащий классы в формате, который понравится Eclipse.
  3. создать проект Eclipse укажите его на файлы ресурсов и новый файл jar
  4. откройте файл jar с помощью утилиты zip и удалите существующие ресурсы
  5. откройте файл jar с помощью JDGui для просмотра исходного кода
  6. Возьмите любой исходный код, который вам нужен от JDGui , вставьте его в класс внутри Eclipse и изменить его
  7. удалите этот класс из файла jar (так что у вас нет одного и того же класса, определенного несколько раз)
  8. запустить его.
Читайте также:
Лучшая программа для биткоинов

автор: Tom Hennen

apktool будет работать. Вам даже не нужно знать хранилище ключей для извлечения исходного кода (что немного страшно). Основным недостатком является то, что источник представлен в формате Smali вместо Java. Другие файлы, такие как значок и основной.xml проходит отлично, хотя и может стоить вашего времени, чтобы по крайней мере восстановить их. В конечном счете, вам, скорее всего, придется переписать свой Java-код с нуля.

вы можете найти apktool здесь. Просто скачайте apktool и соответствующий помощник (для Windows, Linux или Mac OS). Я рекомендую использовать такой инструмент, как 7-Zip, чтобы распаковать их.

автор: Ryan Berger

есть несколько способов сделать это:

  1. используйте функцию «профиль или отладка APK» в Android Studio 3.0. Это позволяет открывать и исследовать APKs в Android Studio. Занятия декомпиляция в smali. Ресурсы не извлекаются, и такие вещи, как» перейти к определению»,» найти все ссылки » и отладка не работают без исходного кода (android studio 3.0 canary 9). Некоторые дополнительные функции smali могут работать с smalidea. android-studioselect-filecode
  2. использовать jadx. Jadx декомпилирует код в данном APK в исходные файлы java. jdax-img
  3. использовать apktool. Apktool-это инструмент командной строки, который извлекает ресурсы и декомпилирует код в smali для данного apk. Вы также можете перекомпилировать с помощью apktool. Вот пример этого в действии:

$ apktool d test.apk I: Using Apktool 2.2.4 on test.apk I: Loading resource table. I: Decoding AndroidManifest.xml with resources. I: Loading resource table from file: 1.apk I: Regular manifest package. I: Decoding file-resources. I: Decoding values */* XMLs.

I: Baksmaling classes.dex. I: Copying assets and libs. I: Copying unknown files. I: Copying original files. $ apktool b test I: Using Apktool 2.2.4 on test I: Checking whether sources has changed. I: Smaling smali folder into classes.dex. I: Checking whether resources has changed. I: Building resources.

I: Building apk file. I: Copying unknown files/dir.
автор: 0xcaff

может быть легко увидеть источник:

в Android studio 2.3, Build -> Analyze APK -> Select the apk that you want to decompile .
Вы увидите, что это исходный код.

Источник: askdev.ru

Как получить исходный код из .apk-файла?

Какого плана ответ Вы хотите получить? Полный процесс декомпиляции, думаю, никто описывать не будет, но Вы можете найти множество информации в интернете по запросу, например, «декомпиляция apk», а потом задать какой-то конкретный вопрос. Но вообще дело это непростое и не всегда результативное.

Читайте также:
Программа где можно уменьшить тело

2 сен 2016 в 19:07
apk не содержит исходного кода, следовательно никак.
2 сен 2016 в 22:16

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

apk содержит только байт-код (файлы .smali, а не исходники), который можно получить утилитой apktool (или другими на ее основе). Байт-код можно преобразовать в java-код утилитами dex2jar и в «исходники» утилитой jd gui (или другими на их основе).

Однако назвать полноценным исходником полученный результат можно с большой натяжкой, чаще всего из таких «исходников» невозможно вновь собрать рабочий apk, не проделав титанический труд.

Читаемость таких «исходников» тоже, мягко говоря, под вопросом. Результат примерно аналогичен машинному переводу: русский — английский — французкий — русский, то есть никакой.

Отслеживать
ответ дан 3 сен 2016 в 0:11
36.7k 6 6 золотых знаков 47 47 серебряных знаков 121 121 бронзовый знак
Хорошее сравнение с машинным переводом.
23 сен 2016 в 3:50
Только с языками при этом лучше.)

4 дек 2019 в 16:15

Вы можете воспользоваться одним из apk декомпиляторов, например этим, или этим. В интернете можно найти много информации по декомпиляторам, так и гайдов/доков по ним.

Отслеживать
user177221
ответ дан 2 сен 2016 в 20:53
Rostyk Shevtsiv Rostyk Shevtsiv
406 2 2 серебряных знака 4 4 бронзовых знака

  • java
  • android
  • дизассемблирование
    Важное на Мете

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Видео: Как посмотреть исходный код android приложения? Декомпиляция .apk файла (реверс инжиниринг)

Представляем вашему вниманию Видео: Как посмотреть исходный код android приложения? Декомпиляция .apk файла (реверс инжиниринг) с канала Start Android. Приятного просмотра!

Чтобы увидеть исходный java код приложения android, его нужно декомпилировать. В этом видео вы узнаете, как декомпилировать .apk файл прямо на вашем андроид-смартфоне, без использования настольного компьютера.
Ссылки в видео:
Приложение для декомпиляции апк-файлов:
#decompiler #android #java
Смотрите также:
Список всех уроков:
Часто встречающиеся проблемы и ошибки при разработке android приложений:
Инструменты Android разработчика:
Подкасты с android разработчиками:
Уроки Android Studio разработка мобильных приложений:
Разработка мобильных игр:

Вас могут заинтересовать другие материалы:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘actions_post_nav’ not found or invalid function name in /var/www/ch8648adac/www/linuxgid.ru/wp-includes/class-wp-hook.php on line 288

Источник: linuxgid.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru