Инструменты для взлома Андроид: знакомство с Apktool

В этой статье мы познакомимся с работой программы Apktool – редкого в своём роде инструмента по тестированию APK ресурсов для приложений под ОС Андроид. Мы с вами установим Apktool в Кали Линукс и Windows и скачаем/установим тренировочное приложение для применения программы. Так что подробности работы самой утилиты, а также того, с чем придётся работать, я решил всё-таки разместить в следующей статье.

Что такое Apktool?

Apktool представляет собой программу, входящую в список инструментов Реверсивной Инженерии (обратной разработки, а попросту – копирования) ресурсов Андроид-приложений (APK – Android Package Kit). Этот инструмент позволяет расшифровывать APK-проекты, перехватывая его функции на лету, изменяя под собственные нужды, и формировать уже обновлённый APK файл. Для работы с Apktool требуется среда Java 7 (JRE 1.7) и новее. Этот инструмент одинаково идёт из-под Linux и Windows. Инструмент способен на многое, среди главных же его функций можно выделить:

  • расшифровка ресурсов Андроид
  • переформирование расшифрованных ресурсов с приведением к бинарному виду APK
  • компоновка и конечная реализация APK в зависимости от механизма источника
  • реализация непрерывности (перманентности) поставленных задач

Что стоит за этими заумными словами, вы скоро поймёте, а пока рассмотрим вопрос, где и как установить всё, что понадобится для знакомства с инструментом.

Apktool в Linux

В Кали Линукс инструмент уже существует, и следующей командой вы можете проверить номер установленной версии:

apktool -version

версия apktool

Справку по командам легко получить, набрав название в терминале. Сразу короткие пояснения по-русски:

apktool справка
откройте в новой вкладке, чтобы увеличить

Apktool в Windows

Утилита поставляется и в Windows, однако работа с подобными инструментами подразумевает использование java-среды, да и процесс установки потребует внимания. Так что лучше прямо сейчас проверить версию Java:

java -version

версия java на windows 10

Однако, скорее всего, вы увидите сообщение, которое гласит, что Windows не понимает о чём речь:

java не является внутренней или внешней командой

Тогда устанавливаем Java в Windows по рекомендациям в статье. Процесс недолгий. Сразу после установки отправляемся за версией Apktool для Windows. Справка по и файлы установки живут здесь. Но я вам немного помогу:

  • качаем у меня аpktool в архиве zip, распакуйте на Рабочий стол, НЕ ЗАПУСКАЯ

apktool в архиве

последняя версия apktool-2

  • как бы он не назывался, вы должны присвоить ему имя apktool.jar. (он будет фигурировать в будущих командах именно под этим названием):

apktool jar

  • оба файла (apktool.bat и apktool.jar) копируем и отправляем в системную папку C:\Windows

сохранить в папку Windows

  • теперь открываем cmd от имени админа и вводим команду
apktool

Если всё правильно сделано, вы увидите справку (программа установлена):

справка apktool в windows

Тренируемся на DIVA (Чертовски Беззащитный и Уязвимый APK)

Инструмент, как указывалось, предназначен для работы с APK-файлами. APK – это формат исполняемых файлов-приложений (программ) для ОС Андроид. Он представляет из себя обычный архив, открывающийся доступным zip-ом. Если вы загляните внутрь, то увидите список, характерный для многих APK. Это classes.dex, META-INF, AndroidManifest.xml, resources.arsc и т.д. и т.п. Однако заглянуть внутрь этих файлы абы чем не получится – они не допускают редактирования с помощью какого-нибудь там Блокнота. Вот здесь и вступает в дело Apktool.

Но чтобы не учиться плавать по книжке, возьмём шаблонный APK файл, который поможет познакомиться с типовым APK поближе. Для этой цели индийские товарищи предложили APK проекта DIVA,  который можно скачать для прямой установки в Кали командой:

git clone https://github.com/payatu/diva-android

или в форме zip-а:

скачать apk diva

В Кали за нас всё сделает терминал; если вы продолжаете работать в Windows, я приготовил вам готовый файл (чтобы не рыскать):

скачать DIVA для Аpktool в Windows

Распаковывайте из архива файл diva-beta.apk куда угодно. Содержимое файла любого файла .apk в общих чертах понятно любому архиватору. Однако работа с конкретными файлами, как уже говорилось, доступна немногим. Так что открываем файл с помощью Аpktool из командной строки в формате:

apktool d полный-путь-к-diva-beta.apk

Так, у меня diva-beta.apk лежит на Рабочем столе, а значит команда будет выглядеть так:

открыть файл apk windows 10

Появилось окно с процессом декодирования параметров ресурса. На папку с файлами можно взглянуть в той же Windows\System32:

diva-beta

Будьте на связи. Успехов.

4 ответа к «Инструменты для взлома Андроид: знакомство с Apktool»

  1. Отличное руководство. Но у меня после всех действий все равно была ошибка
    **************
    S: WARNING: Could not write to (C:\Users\User.HOMESERVER\AppData\Local\apktool\framework), using C:\Users\0DF1~1.HOM\AppData\Local\Temp\ instead…
    *************
    Лечится созданием папок apktool и framework по выше указанному пути.
    И тем кто не хочет забивать (Windows\System32:) декомпиллированным apk,
    в команде apktool d полный-путь-к-diva-beta.apk ,добавьте полный путь к своему исходному каталогу. apktool d
    Все получилось.

  2. Здравствуйте, все сделал как написано, но в cmd ввожу apktool и выводится какая то фигня, что её нет.

    1. Команды в Линукс и Windows примерно одинаковы:

      ./apktool b [имя-папки-с-файлами] [apk файл.apk]

      в Windows

      apktool b [имя-папки-с-файлами] [apk файл.apk]

      Учтите, что оригинальная подпись приложения при переформировании аннулируется.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Максимальный размер загружаемого файла: 50 МБ. Вы можете загрузить: изображение, видео. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файлы сюда