Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Сегодня мы с тобой напишем чит для шутера AssaultCube на Android. Но сначала заставим игру работать и в процессе изучим приемы декомпиляции и сборки APK, а также перенаправления трафика и подделки игрового сервера. Другие статьи цикла
warning
Использование читов нарушает пользовательское соглашение игры, что может повлечь юридическое преследование. Мы обсуждаем здесь создание чита исключительно в целях обучения. Автор и редакция не несут ответственности за возможные последствия применения и распространения такого ПО.
Давай для начала пробежимся по теории. Программы и игры для Android обычно пишут с применением следующих языков программирования и технологий:
Результат компиляции Android-приложения — это файл с расширением .apk (Android Package). APK — это ZIP-архив, содержащий следующие компоненты:
AndroidManifest.xml
— манифест приложения, включает описание компонентов, разрешений, точек входа; classes.dex
— скомпилированный байт‑код Dalvik/ART (основной код приложения); resources.arsc
— скомпилированные ресурсы (строки, стили, атрибуты); res/
— прочие ресурсы (изображения, layout XML и другое); META-INF/
— метаданные, подписи APK; assets/
— произвольные файлы, доступные приложению в рантайме; lib/
— нативные библиотеки (соответствуют архитектурам: armeabi-v7a, arm64-v8a и так далее). Структура файла
Все действия будем проводить в эмуляторе, а не на реальном устройстве, чтобы его случайно не окирпичить. Из всех эмуляторов мой выбор пал на AVD, который поставляется вместе с Android Studio. Устанавливаем и запускаем. Теперь создаем экземпляр устройства:
Создание виртуальных устройств
Для начала загрузим игру AssaultCube, на которой мы будем упражняться. Ее нужно установить на оба устройства. Для этого открываем командную строку и переходим вот в этот каталог (там хранятся все утилиты):
%LOCALAPPDATA%AndroidSdkplatform-tools
Выполняем команду adb devices
, чтобы просмотреть список доступных эмуляторов. Они будут представлены в формате <name>-<port> <type>
, например emulator-5554 device
.
Теперь установим наш APK:
adb -s emulator-5554 install myapp.apk
Как вариант, можно просто перетащить APK на эмулятор и подтвердить установку.
Установка APK-файла
В какой‑то момент тебе может понадобиться удалить APK. Сделать это можно вот как. Сначала смотрим список установленных пакетов:
adb -s emulator-5554 shell pm list packages | sort
Затем удаляем ненужный:
adb -s <device-serial> shell pm uninstall <app-package-name>
Например:
adb -s emulator-5554 shell pm uninstall net.cubers.assaultcube
Удаление файла APK
После того как мы установили AssaultCube, запустим ее и войдем в меню сетевой игры. Ничего не происходит? Я тоже столкнулся с этой проблемой, но потом нашел режим разработки.
Переключение в режим разработки
В нем проблема сразу видна: мы не можем подключиться к игровому серверу.
Неудачное подключение
Видимо, игровые серверы мертвы. Но мы можем перенаправить подключение на локальный сервер. Настройку и запуск сервера я описывал во второй статье серии «Чит своими руками».
Перенаправление трафика
Источник: xakep.ru