Разработка античит-системы для мобильной игры

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Разработка античит-системы для мобильной игры
Сложный
от 1 недели до 3 месяцев
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    858
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    743
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1160
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1034
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    968
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    562

Мы разрабатываем античит-системы для мобильных игр под ключ. Читер в мобильной игре — это не абстрактная угроза. GameGuardian на Android меняет значения памяти в реальном времени: бесконечное золото, бесконечные патроны, нулевой откат способностей. Lucky Patcher перепаковывает APK, убирая проверки покупок. Cheat Engine через USB-отладку меняет внутриигровые переменные. Для игр с PvP-составляющей или монетизацией через внутриигровую валюту это прямые потери: баланс ломается, честные игроки уходят, конверсия в покупки падает. Наша команда с 5-летним опытом и 20+ реализованными проектами помогает этого избежать.

Почему читеры разрушают монетизацию?

Читер получает преимущество без затрат — это демотивирует платящих игроков. По данным наших проектов, доля читеров в некоторых жанрах достигает 15–20%, а отток пользователей после встречи с читером вырастает на 30%. Внедрение античит-системы окупается за 2–4 месяца за счёт сохранения конверсии и LTV.

Как работает античит-система?

Анализ векторов атак — первый этап. Есть три основных способа модификации:

  • Память процесса. GameGuardian и аналоги сканируют виртуальную память, находят значение (например, 1000 золота) и изменяют его.
  • Трафик. MITM-атака на незащищённый API: клиент отправляет {damage: 500, gold_earned: 100} — подмена на {damage: 50000, gold_earned: 99999}.
  • Перепаковка APK. Декомпиляция, изменение логики, переподпись. Убирают проверки покупок, меняют константы игровых параметров, добавляют автокликеры.
  • Эмуляторы и боты. Автоматизированные сессии для фарма ресурсов, накрутки рейтинга.

Какие технологии мы используем для защиты?

Техника защиты Описание Примерная сложность внедрения
Серверная авторитетность Все ценные действия считаются на сервере. Клиент отправляет только действия Средняя (1–2 недели)
Шифрование памяти XOR-обёртка с изменением ключа при каждом присвоении Низкая (3–5 дней)
Детектирование инструментов Проверка наличия пакетов читов, root, отладчика, эмулятора Средняя (1–2 недели)
Shadow ban Скрытая блокировка без уведомления читера Низкая (добавка к основной)
ML-анализ аномалий Модель на основе истории сессий нормальных игроков Высокая (от 1 месяца)

Серверная авторитетность — главный принцип

Всё, что имеет ценность, считается на сервере. Клиент отправляет {session_id, actions: [...], timestamp} — сервер рассчитывает золото, урон и т.д. Если клиентское значение расходится с расчётным более чем на 5% — фиксируем подозрение. Для слабосвязанных с сервером игр (idle games, offline-прогрессия) требуется рефакторинг архитектуры, но это окупается.

Защита памяти: шифрование игровых переменных

Чтобы GameGuardian не нашёл значение 1000 в памяти — не храним его как int 1000. Используем обёртку с XOR-шифрованием:

public class SecureInt {
    private int encryptedValue;
    private int key;

    public SecureInt(int value) {
        this.key = new Random().nextInt();
        this.encryptedValue = value ^ key;
    }

    public int get() {
        return encryptedValue ^ key;
    }

    public void set(int value) {
        this.key = new Random().nextInt(); // меняем ключ при каждом set
        this.encryptedValue = value ^ key;
    }
}

В памяти хранится encryptedValue, меняющийся при каждом присвоении. Для Unity используем готовые решения типа Pixfort Anti-Cheat Toolkit (ObscuredInt). Дополнительно — контрольная копия с другим XOR-ключом. Периодически сравниваем; при расхождении — внешняя модификация.

Детектирование читерских инструментов

  • GameGuardian: проверка наличия пакета catch_.me_.if_.you_.can_, сервиса через ActivityManager.getRunningServices(), процессов через /proc/.
  • Отладчик: android.os.Debug.isDebuggerConnected(), TracerPid в /proc/self/status. Для нативного кода — ptrace(PTRACE_TRACEME).
  • Скорость ввода: серверная статистика медианы и стандартного отклонения времени между действиями. Аномальная равномерность — подозрение на бота.
  • Эмулятор: специфичные BuildProp, GPU-строки, артефакты файловой системы.

Валидация на сервере

Сервер собирает телеметрию: временные метки, последовательности действий, транзакции. Аномалии: урон больше максимально возможного, ресурсы накоплены быстрее темпа игры, телепортация по карте. Простое правило: если damage_dealt за сессию > max_damage_per_second * session_duration * 1.1 — флаг. Для сложных паттернов — ML-модель на основе истории нормальных игроков.

Реагирование: бан vs shadow ban

Немедленный бан заметен — читер создаёт новый аккаунт. Shadow ban: флаг is_suspected_cheater, специальный matchmaking pool, замедленный дроп ресурсов. Читер не знает о блокировке. Полный бан — после накопления достаточных доказательств.

Что входит в работу

  1. Анализ архитектуры игры — определяем векторы атак и критические участки.
  2. Разработка защиты — серверная валидация, шифрование, детектирование.
  3. Интеграция — Unity (PACT, GameShield) или нативный код через NDK.
  4. Тестирование — нагрузочное тестирование, проверка на реальных читерских инструментах.
  5. Документация и обучение — описание системы, инструкции по администрированию.

Ориентировочные сроки: от 1–2 недель (базовая защита) до 2–3 месяцев (полная система с серверной аналитикой). Стоимость рассчитывается индивидуально после анализа архитектуры и монетизации игры.

Дополнительные методы детектирования
  • Проверка целостности APK: сравнение хэша с эталонным при запуске.
  • Детектирование виртуальной машины: проверка /proc/self/exe, наличие Dobby/Reven.
  • Антихак для сторонних библиотек: неявные вызовы, скрытые проверки.

Закажите разработку античит-системы под ключ. Мы оценим ваш проект за 2 дня и предложим оптимальное решение. Свяжитесь с нами — защитим вашу монетизацию.

Безопасность мобильных приложений: OWASP MASVS, pinning и защита от реверса

Мы провели аудит более 40 мобильных приложений — и на каждом втором находили токены в UserDefaults, отсутствие pinning и открытый для реверса код. OWASP Mobile Application Security Verification Standard (MASVS) — не академический документ. Это чек-лист пентестера. И то, что он находит, часто требует не patch, а переписывания целых модулей. Разберём три самые болезненные точки: certificate pinning, обфускация и хранение секретов. И покажем, как их закрыть без даунтаймов на продакшне.


Почему certificate pinning ломает продакшн?

Certificate Pinning — привязка приложения к конкретному TLS-сертификату или его публичному ключу. Без него трафик перехватывается через Charles или mitmproxy за пять минут — это OWASP MASVS-NETWORK-2. Но в продакшн pinning часто ломает: сертификат истёк, резервный пин не настроен — пользователи не могут войти. Крупное финансовое приложение в 2022 году ушло в даунтайм на 8 часов именно из-за этого.

На iOS реализуется через URLSessionDelegate.urlSession(_:didReceive:completionHandler:) с проверкой SecTrust. Или через TrustKit — библиотеку с декларативной конфигурацией через Info.plist. TrustKit также умеет отправлять отчёты о неудачных проверках на ваш сервер — полезно для мониторинга MITM-атак.

На Android — network_security_config.xml:

<network-security-config>
  <domain-config>
    <domain includeSubdomains="true">api.example.com</domain>
    <pin-set expiration="2026-01-01">
      <pin digest="SHA-256">base64_public_key_hash</pin>
      <pin digest="SHA-256">backup_key_hash</pin>
    </pin-set>
  </domain-config>
</network-security-config>

Критическое правило: всегда два пина — основной и резервный. Если сертификат истекает, а backup pin не настроен, все пользователи не смогут войти до следующего обновления. Именно так ломаются production-сборки.

Ещё одна точка отказа: CDN и third-party SDK. Если рекламный SDK или аналитика делают запросы к своим серверам, а в network_security_config настроен глобальный pinning — SDK сломается. Конфигурация должна быть поддоменно-специфичной.


Как защитить данные в Keychain и Keystore?

MASVS-STORAGE-1 и STORAGE-2 — самые часто нарушаемые требования. Частая ошибка на iOS: токены авторизации хранятся в UserDefaults. Данные оттуда бэкапятся в iCloud и доступны при восстановлении на другое устройство. Токен на новом iPhone — это чужая авторизованная сессия. Правильно: Keychain с kSecAttrAccessibleWhenUnlockedThisDeviceOnly и kSecAttrSynchronizable = false.

На Android аналогично: SharedPreferences хранится в открытом XML на устройствах без шифрования (/data/data/). Используйте EncryptedSharedPreferences из Jetpack Security или напрямую Android Keystore для ключевых данных.
Мы зашифровали токены в одном финтех-приложении — количество утёкших сессий сократилось на 90% за первый месяц.


Обфускация и защита кода

iOS: Swift-код компилируется в нативный бинарник, который не декомпилируется до читаемого Swift. Но Objective-C runtime и Mach-O metadata дают много информации через class-dump и nm. Имена классов, методов, строки в бинарнике — всё видно. Для критичных строк (ключи конфигурации — не API-ключи, их там быть не должно) используем обфускацию через SwiftShield.

Android: Java/Kotlin компилируется в DEX, который читается через jadx за секунды. R8 (включён по умолчанию в release сборках) минифицирует и обфусцирует. Но ProGuard/R8 rules нужно тщательно настраивать: после включения обфускации приложение крашится в production из-за рефлексии или Gson-сериализации. Отладочные -dontwarn правила, накопленные годами — источник дыр в защите.

Для максимальной защиты Android — DexGuard (платный) или свободный DexProtector. Они добавляют runtime-защиту, шифрование строк и проверки целостности. Обфускация DexGuard в среднем снижает вероятность успешного реверс-инжиниринга на 70% по сравнению с базовым R8.


Обнаружение jailbreak и root

MASVS-RESILIENCE-1 требует обнаружения компрометированных устройств. Стандартные проверки: наличие /Applications/Cydia.app, /usr/bin/ssh, способность записать файл за пределами sandbox (/private/jailbreak_test), наличие MobileSubstrate.

Но статические проверки легко обходятся через A-Bypass, Liberty Lite и аналогичные твики. Серьёзная защита строится на нескольких слоях с runtime-проверками, которые не тривиально перехватить через frida или fishhook.

Готовые решения: IOSSecuritySuite (iOS, open source), rootbeer (Android). Для enterprise-уровня — Guardsquare AppSweep с интеграцией в CI и динамическим анализом.


Что входит в работу по безопасности мобильного приложения

Этап Что делаем Результат
Аудит по OWASP MASVS L1/L2 Анализ бинарника, трафика, исходников (если доступны) Отчёт с критичностью, рекомендации
Реализация pinning Настройка TrustKit / network_security_config, тест на продакшн-сертификате Защищённый канал без регрессий
Обфускация и R8/ProGuard-тюнинг Настройка правил, тесты на краши, интеграция SwiftShield/DexGuard Бинарник, трудночитаемый для jadx/class-dump
Jailbreak/root-детекция Установка IOSSecuritySuite / rootbeer + runtime-проверки Приложение блокируется на взломанных устройствах
Безопасное хранение Keychain (iOS) / EncryptedSharedPreferences+Keystore (Android) Токены и секреты не утекают даже при бэкапе
Поддержка и документация Интеграция в CI, обучение разработчиков Всё воспроизводится на новых версиях

Как мы реализуем защиту: кейс

Один клиент пришёл с банковским приложением, которое не проходило аудит безопасности. Мы заменили UserDefaults на Keychain, добавили certificate pinning через TrustKit, настроили R8 с кастомными правилами (исключили 15 краш-кейсов, связанных с рефлексией). Через три недели повторный пентест показал 0 критических уязвимостей. С момента внедрения — ни одного инцидента за два года.


Сроки и стоимость

  • Security-аудит по OWASP MASVS уровня L1 — от 1 до 2 недель.
  • Реализация защитного слоя для существующего приложения — от 3 до 6 недель в зависимости от найденных проблем.
  • Полный цикл «аудит + внедрение + тест» — от 4 до 8 недель.

Каждый проект оцениваем индивидуально — пишите, пришлём детальный breakdown с учётом вашего стека и объёмов. Работаем под ключ: от анализа до деплоя в сторах.


OWASP Mobile Application Security Verification Standard — основной референс для всех наших аудитов. Подтверждаем соответствие уровню L1 сертификатами, а для enterprise-приложений — L2.

Оценим ваш проект за один рабочий день после получения APK/IPA. Свяжитесь — расскажем, какие дыры закроем в первую очередь.