Содержание
Пакет приложений Android (APK) — это формат файла пакета, используемый для распространения и установки прикладного программного обеспечения в операционной системе Google Android. Есть много причин, по которым вы хотели бы декомпилировать APK, узнать, как работает приложение, повысить безопасность и сложность вашего кода, украсть исходный код из приложений … я имею в виду, проанализировать его … и другие.
Чтобы декомпилировать файл APK, в этой статье мы будем использовать jadx, командную строку и инструмент GUI для создания исходного кода Java из файлов Android Dex и Apk.
Требования
- Вам нужно явно установить Java на вашем компьютере.
отказ
Ни при каких обстоятельствах мы (Наш Кодовый Мир) или разработчик этого приложения не несем ответственности за прямой, косвенный, специальный или иной косвенный ущерб, возникший в результате использования этого приложения или пакетов приложений (APK), декомпилированных с ним. Используйте его на свой страх и риск.
1. Скачать бинарные файлы jadx
Чтобы начать декомпиляцию APK-файла с помощью jadx, вам понадобятся двоичные файлы этого приложения, которые вы можете загрузить из различных источников, а именно из Github и SourceForge:
Github релизы
Это приложение является общедоступным и лицензируется под лицензией Apache 2.0. Исходный код доступен на Github и двоичные файлы доступны скачать в окне релизов здесь. Скачивайте всегда последнюю версию:
С SourceForge
Вы можете скачать zip с бинарными файлами jadx от SourceForge здесь. Скачивайте всегда последнюю версию:
Загрузка бинарных файлов из любого из предыдущих источников должна быть в виде zip-файла.
2. Извлечь содержимое почтового индекса
Извлеките содержимое загруженных zip-файлов в папку по вашему выбору, содержимое zip будет выглядеть примерно так:
Нас интересует папка bin, содержащая файлы bat, которые позволяют нам использовать jadx либо с командной строкой, либо с графическим интерфейсом пользователя (GUI):
Важный
Выполнить файлы bat с правами администратора, в противном случае на некоторых компьютерах JADX даже не запускается.
3. Использование jadx для декомпиляции APK
Вы можете использовать jadx из командной строки или из графического интерфейса пользователя:
С графическим интерфейсом
JADX обычно используется с графическим интерфейсом пользователя, запустите jadx-gui.bat
файл (внутри jadx-folder/bin
папка) с правами администратора. Сначала вы получите окно, которое позволяет вам выбрать APK-файл, который вы хотите декомпилировать:
После того, как вы выбрали файл, jadx декомпилирует его и предоставит проводник в стиле IDE (представление в виде дерева) в левой части приложения, в котором перечислены все пакеты Java и файлы APK. В этом примере мы собираемся использовать APK нашего Code Editor Premium, чей нативный код основан на Cordova, а само приложение с Javascript (исходный код находится внутри Resources/assets/www
):
Довольно круто не так? Вы можете сохранить весь код в папке, если вы нажмете в верхнем меню, файл а также Сохранить все.
С командной строкой
Вы можете использовать jadx в качестве утилиты командной строки. Откройте новую командную строку с правами администратора и перейдите в каталог bin jadx, используя cd
команда, например:
cd C:\Users\sdkca\Desktop\jadx\bin
Расположенный в каталоге bin, где находится файл jadx, вы можете выполнять команды, например, чтобы извлечь код из APK, вы можете использовать следующую команду:
REM the command has the following structure
REM jadx -d [path-output-folder] [path-apk-or-dex-file]
jadx -d C:\Users\sdkca\Desktop\source-code C:\Users\sdkca\Desktop\test-apks\ourcodeeditor-premium.apk
Выполнение предыдущей команды должно извлечь весь исходный код в source-code
папка на рабочем столе (обратите внимание, что папка уже должна существовать).
Удачной декомпиляции!