Обратный инжиниринг из файла APK в проект

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

10 ответов

Решение

Есть два полезных инструмента, которые будут генерировать код Java (грубый, но достаточно хороший) из неизвестного файла APK.

  1. Загрузите инструмент dex2jar из dex2jar.
  2. Используйте инструмент для конвертации APK файла в JAR:

    $ d2j-dex2jar.bat demo.apk
    dex2jar demo.apk -> ./demo-dex2jar.jar
    
  3. Как только файл JAR сгенерирован, используйте JD-GUI, чтобы открыть файл JAR. Вы увидите файлы Java.

Вывод будет похож на:

JD GUI

Прежде всего, я рекомендую this видео может прояснить все ваши сомнения

Если нет, пожалуйста, пройдите

Procedure for decoding .apk files, step-by-step method:

Step 1:

Создайте новую папку и поместите в нее файл.apk (который вы хотите декодировать). Теперь переименуйте расширение этого .apk подать в .zip (например: переименовать из filename.apk в filename.apk.zip) и сохранить его.

Если проблемы при конвертации в.zip обращайтесь link

После получения.zip теперь вы получаете файлы classes.dex и т. Д. На этом этапе вы можете видеть нарисованные, но не XML и Java файлы, поэтому продолжайте. Если вы не видите расширения, проверьте конфигурацию

Step 2:

Теперь распакуйте этот zip-файл в той же папке. Теперь загрузите dex2jar из этого link

и распакуйте его в ту же папку. Теперь откройте командную строку и перейдите в эту папку.

Затем написать dex2jar classes.dex и нажмите ввод. Теперь вы получаете classes.dex.dex2jar файл в той же папке.

Тогда скачайте Java-декомпилятор

А теперь дважды щелкните по jd-gui и щелкните по открытому файлу. Тогда открой classes.dex.dex2jar файл из этой папки. Теперь вы получаете файлы классов и сохраняете все эти файлы классов (нажмите на файл, затем нажмите "сохранить все источники" в jd-gui) по имени src. Распакуйте этот zip-файл (classes_dex2jar.src.zip) и вы получите все Java-файлы приложения.

На этом этапе вы получаете исходный код Java, но XML-файлы по-прежнему не читаются, поэтому продолжайте.

Step 3:

Теперь откройте еще одну новую папку и поместите эти файлы

  1. положить файл.apk, который вы хотите декодировать

  2. скачать Apktool для windows v1.x А также Apktool

установить окно с помощью Google и положить в ту же папку

  1. загрузите файл framework-res.apk с помощью Google и поместите в одну папку (не всем файлам apk нужен файл framework-res.apk)

  2. Откройте командное окно

  3. Перейдите в корневой каталог APKtool и введите следующую команду: apktool if framework-res.apk.

Выше команда должна привести к Framework installed ...,

  1. apktool d "appName".apk ("appName" обозначает приложение, которое вы хотите декодировать), теперь вы получаете папку с файлами в этой папке, и теперь вы также можете легко читать XML-файлы.

Step 4: Наконец мы получили res/ а также Java-код проекта, который является нашей целью при запуске.

P.S. Если вы не можете получить папку res с помощью описанных выше шагов, пожалуйста, установите новую apktool

  • Java 1.7 установлена? Установите Apktool 2.x
  • Java 1.6 или выше установлена? Установите Apktool 1.x

Enjoy and happy coding

Нет программного обеспечения и не слишком много шагов..

Просто загрузите свой APK и получите все ресурсы с этого сайта.

https://www.apkdecompilers.com/

Этот веб-сайт декомпилирует код, встроенный в APK-файлы, и извлекает все остальные ресурсы из файла.

примечание: я декомпилирую свой файл APK и получаю код в течение одной минуты с этого сайта

Обновление 1:

Я нашел другой сайт декомпилятора онлайн,

http://www.javadecompilers.com/apk/ - Не работает постоянно с просьбой о блокировке всплывающих окон

Обновление 2:

Я нашел приложение apk decompiler в магазине игр,

https://play.google.com/store/apps/details?id=com.njlabs.showjava

Мы можем декомпилировать файлы apk в нашем телефоне Android. а также мы можем просматривать файлы Java и XML в этом приложении

Обновление 3:

Мы можем использовать другую опцию Анализировать функцию APK из версии Android Studio 2.2

Build -> Analyze APK -> выберите свой APK -> это даст результаты

В Android Studio 3.5 это так просто, что вы можете сделать это за минуту. Ниже приводится пошаговый процесс.

1: Откройте Android Studio, нажмите кнопку окна -> введите Android Studio -> щелкните значок, чтобы открыть экран-заставку студии Android, который будет выглядеть следующим образом.

2: Здесь вы можете увидеть опцию "Профиль или отладка APK", нажмите на нее, выберите свой файл apk и нажмите ОК.

3: он откроет все ваши манифесты и классы java через минуту в зависимости от размера apk.

Вот и все.

Существует новый способ сделать это.

Android Studio 2.2 имеет APK Analyzer, он даст много информации об apk, закажите его здесь: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html

Ap

На самом деле, нет. Существует несколько наборов dex дизассемблер / декомпилятор, таких как smali или dex2jar, которые будут генерировать получеловекаемый вывод (в случае dex2jar вы можете получить код Java с помощью чего-то вроде JD-GUI, но процесс не идеально, и очень маловероятно, что вы сможете на 100% воссоздать свой исходный код, однако это может дать вам место для начала перестройки исходного дерева.

Попробуйте этот инструмент: https://decompile.io/, он работает на iPhone/iPad/Mac

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

  1. Dex2jar
  2. Java декомпилятор
  3. Apktool
  4. Apk Analyzer

Да, вы можете вернуть свой проект. Просто переименуйте yourproject.apk подать в yourproject.zipи вы получите все файлы внутри этого ZIP-файла. Мы меняем расширение файла с.apk на.zip. Из этого ZIP-файла извлеките classes.dex файл и декомпилировать его следующим образом.

Во-первых, вам нужен инструмент для извлечения всех (скомпилированных) классов из DEX в JAR. Один из них называется dex2jar, который сделан китайским студентом.

Затем вы можете использовать JD-GUI для декомпиляции классов в JAR до исходного кода. Полученный исходный код должен быть достаточно читабельным, так как dex2jar применяет некоторые оптимизации.

Для платформы Android вы можете попробовать ShowJava, доступный в магазине Play.

Вы можете просмотреть сгенерированный код через интерфейс приложения, а сгенерированные файлы java и структура папок хранятся в ShowJava папка в /sdcardнаряду с полученным .jar файл из конверсии.

Приложение бесплатно с рекламным баннером внизу основного экрана, но есть возможность покупки в приложении (3,99$), чтобы удалить его. Покупка из приложения не добавляет никаких функций, кроме удаления рекламного баннера.

Раскрытие информации: я не являюсь разработчиком приложения и никак не связан с ним.

Если вы ищете профессиональную альтернативу, взгляните на JEB Decompiler от PNF Software.

Существует демо-версия, которая позволит вам декомпилировать большую часть кода.

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

  • конвертировать файл apk в zip
  • распаковать файл
  • извлечь из него classes.dex
  • используйте dex to jar для конвертирования classes.dex в файл jar
  • используйте JADX GUI, чтобы открыть файл JAR в качестве исходного кода Java

Еще один инструмент, который вы, возможно, захотите использовать, - это APK Studio. Однако он полагается на сторонние инструменты: Apktool, jadx, ADB и Uber APK signer, которые необходимо загружать отдельно.

Другие вопросы по тегам