Содержание
Работа с системными APK
Для того чтобы модифицировать системные приложения необходимо прежде всего необходимо скормить программе APKTOOL системный файл framework -res.apk который находиться в системном разделе Android:
/system/framework/framework -res.apk
Для того чтобы скормить Apktool данный файл необходимо, ввести команду:
Учитывайте что, команду нужно вводить относительно пути расположения, то есть если файл framework -res.apk находиться в папке C:\primer, то команда будет выглядеть следующим обзором:
Также для того чтобы можно было модифицировать системные файлы прошивка должна быть вначале Deodex-ирована.
Теперь как это можно все упросить! (не использовать командную строку)
Скачайте приложение SmartApkTool, данное программа имеет графический интерфейс и очень легкая в использование. Автор данной программы мой хороший друг Никита Коровкин (на данный момент работает в Surfingbird)! за что ему огромное Спасибо!
Apktool в Windows
Утилита поставляется и в Windows, однако работа с подобными инструментами подразумевает использование java-среды, да и процесс установки потребует внимания. Так что лучше прямо сейчас проверить версию Java:
java -version
Однако, скорее всего, вы увидите сообщение, которое гласит, что Windows не понимает о чём речь:
Тогда устанавливаем Java в Windows по рекомендациям в статье. Процесс недолгий. Сразу после установки отправляемся за версией Apktool для Windows. Справка по и файлы установки живут здесь. Но я вам немного помогу:
качаем у меня аpktool в архиве zip, распакуйте на Рабочий стол, НЕ ЗАПУСКАЯ
качаем с офсайта последнюю версию аpktool-2 (она всегда вверху списка):
оба файла (apktool.bat и apktool.jar) копируем и отправляем в системную папку C:\Windows
теперь открываем cmd от имени админа и вводим команду
apktool
Если всё правильно сделано, вы увидите справку (программа установлена):
Что такое Apktool?
Apktool представляет собой программу, входящую в список инструментов Реверсивной Инженерии (обратной разработки, а попросту – копирования) ресурсов Андроид-приложений (APK – Android Package Kit). Этот инструмент позволяет расшифровывать APK-проекты, перехватывая его функции на лету, изменяя под собственные нужды, и формировать уже обновлённый APK файл. Для работы с Apktool требуется среда Java 7 (JRE 1.7) и новее. Этот инструмент одинаково идёт из-под Linux и Windows. Инструмент способен на многое, среди главных же его функций можно выделить:
- расшифровка ресурсов Андроид
- переформирование расшифрованных ресурсов с приведением к бинарному виду APK
- компоновка и конечная реализация APK в зависимости от механизма источника
- реализация непрерывности (перманентности) поставленных задач
Что стоит за этими заумными словами, вы скоро поймёте, а пока рассмотрим вопрос, где и как установить всё, что понадобится для знакомства с инструментом.
Декомпиляция и Компиляция APK приложения Android Необходимые компоненты
- Java JDK — среда разработки;
- ApkTool — программа декомпилятор;
- ApkTool.bat — bat файл;
- Sign Android — подпись приложения APK.
Настройка Java
После установки Java JDK , необходимо, добавить ее в переменную Windows. Если кто не понял официальное куроводство то,
Скопируйте путь Java JDK:
Перейдите в меню Дополнительные настройки:
(Мой) Компьютер ->Свойства системы->Дополнительные параметры системы->Дополнительно->Системные переменные->Правка
Java JDK настроена!
Настройка ApkTool
- Создать папку на диске C:\ и в нее переместить файлы apktool_x_x.jar и apktool.bat
- Файл apktool_x_x.jar переименовать в apktool.jar
Если появилось наподобие такой вывод информации, то все сделано правильно.
Тренируемся на 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-а:
В Кали за нас всё сделает терминал; если вы продолжаете работать в Windows, я приготовил вам готовый файл (чтобы не рыскать):
скачать DIVA для Аpktool в Windows
Распаковывайте из архива файл diva-beta.apk куда угодно. Содержимое файла любого файла .apk в общих чертах понятно любому архиватору. Однако работа с конкретными файлами, как уже говорилось, доступна немногим. Так что открываем файл с помощью Аpktool из командной строки в формате:
apktool d полный-путь-к-diva-beta.apk
Так, у меня diva-beta.apk лежит на Рабочем столе, а значит команда будет выглядеть так:
Появилось окно с процессом декодирования параметров ресурса. На папку с файлами можно взглянуть в той же Windows\System32:
Будьте на связи. Успехов.