Я случайно удалил свой проект из Eclipse , и все, что у меня осталось, это файл APK, который я перенес на свой телефон. Есть ли способ отменить процесс экспорта приложения в файл .apk, чтобы я мог вернуть свой проект обратно?
Я случайно удалил свой проект из Eclipse , и все, что у меня осталось, это файл APK, который я перенес на свой телефон. Есть ли способ отменить процесс экспорта приложения в файл .apk, чтобы я мог вернуть свой проект обратно?
Ответы:
Есть два полезных инструмента, которые будут генерировать код Java (грубый, но достаточно хороший) из неизвестного файла APK.
Используйте инструмент, чтобы конвертировать файл APK в JAR :
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
Как только файл JAR сгенерирован, используйте JD-GUI, чтобы открыть файл JAR. Вы увидите файлы Java.
Вывод будет похож на:
d2j-dex2jar
вместо этого (v0.0.9.15).
res
папке
res
папка с нечитаемыми файлами XML
Mac
случае вы не можете использовать dex2jar: permission denied
то это сделать $sudo chmod +x d2j-dex2jar.sh
Прежде всего, я рекомендую this
видео, это может очистить все ваши сомнения
Если нет, пожалуйста, пройдите
Procedure for decoding .apk files, step-by-step method:
Step 1:
Создайте новую папку и поместите в нее файл .apk (который вы хотите декодировать). Теперь переименуйте расширение этого .apk
файла в .zip
(например: переименуйте из filename.apk в filename.zip) и сохраните его.
Если проблемы при конвертации в .zip обращайтесь link
После получения .zip теперь вы получаете файлы classes.dex и т. Д. На этом этапе вы можете видеть нарисованные, но не файлы XML и Java, поэтому продолжайте. Если вы не видите расширения, проверьте конфигурацию
Step 2:
Теперь распакуйте этот ZIP-файл в той же папке. Теперь загрузите dex2jar из этогоlink
и распакуйте его в ту же папку. Теперь откройте командную строку и перейдите в эту папку.
Затем написать dex2jar classes.dex
и нажмите Enter. Теперь вы получаете classes.dex.dex2jar
файл в той же папке.
Тогда скачай Java-декомпилятор
А теперь дважды щелкните по jd-gui и щелкните по открытому файлу. Тогда откройclasses.dex.dex2jar
файл из этой папки. Теперь вы получаете файлы классов и сохраняете все эти файлы классов (нажмите на файл, затем нажмите «сохранить все источники» в jd-gui) по имени src. Распакуйте этот zip-файл, (classes_dex2jar.src.zip)
и вы получите все java-файлы приложения.
На этом этапе вы получаете исходный код Java, но XML-файлы по-прежнему не читаются, поэтому продолжайте.
Step 3:
Теперь откройте еще одну новую папку и поместите эти файлы
положить файл .apk, который вы хотите декодировать
скачать Apktool для windows v1.x
АApktool
установить окно с помощью Google и положить в ту же папку
скачайте файл framework-res.apk с помощью Google и поместите в одну папку (не всем apk-файлу нужен файл framework-res.apk)
Откройте командное окно
Перейдите в корневой каталог APKtool и введите следующую команду:
apktool if framework-res.apk.
Выше команда должна привести к Framework installed ...
.
Step 4:
Наконец, мы получили res/
Java-код проекта, который является нашей целью при запуске.
P.S.
Если вы не можете получить папку res с помощью описанных выше шагов, пожалуйста, установите новуюapktool
- Java 1.7 установлена? Установите Apktool 2.x
- Java 1.6 или выше установлена? Установите Apktool 1.x
Enjoy and happy coding
apktool.jar
это не тот же пакет, я взял его из предыдущего пакета и вставил в тот же каталог, что и apktool
.
Нет программного обеспечения и не слишком много шагов ..
Просто загрузите свой 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 2.2 имеет APK Analyzer, он даст много информации об apk, закажите его здесь: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
На самом деле, нет. Существует несколько наборов dex дизассемблер / декомпилятор, таких как smali или dex2jar, которые будут генерировать получеловеческий вывод (в случае dex2jar вы можете получить код Java с помощью чего-то вроде JD-GUI, но процесс не идеально, и очень маловероятно, что вы сможете на 100% воссоздать свой исходный код, однако это может дать вам место для начала перестройки исходного дерева.
Да, вы можете вернуть свой проект. Просто переименуйте 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 $), чтобы удалить его. Покупка из приложения не добавляет никаких функций, кроме удаления рекламного баннера.
Раскрытие информации: я не являюсь разработчиком приложения и никак не связан с ним.
Выполните следующие шаги, чтобы сделать это, или просто используйте для этого процесса гем apkToJava , он даже позаботится об установке необходимых инструментов для его работы.
Если вы ищете профессиональную альтернативу, взгляните на JEB Decompiler от PNF Software.
Существует демо-версия, которая позволит вам декомпилировать большую часть кода.
Ниже приведены некоторые инструменты, которые вы можете использовать для выполнения обратного инжиниринга из файла APK в исходный код:
В Android Studio 3.5 так легко, что вы можете достичь этого за минуту. ниже пошаговый процесс.
1: Откройте Android Studio, нажмите кнопку окна -> Тип Android Studio -> щелкните значок, чтобы открыть заставку Android Studio, которая будет выглядеть следующим образом.
2: Здесь вы можете увидеть опцию «Профиль или отладка APK», нажмите на нее, выберите файл apk и нажмите ОК.
3: Он откроет все ваши классы манифеста и Java в течение минуты в зависимости от размера apk.
Вот и все.
Попробуйте этот инструмент: https://decompile.io , он работает на iPhone / iPad / Mac