Перейти к содержимому

Moatgator Shield

Укрепите каждую сборку до выпуска.

Обфускация кода и строк, защита от модификации и проверки целостности, добавляемые в ваш конвейер сборки через pull request.

Ваш кодДекомпилированный результатShield
Ваш код, Декомпилированный результат, Shield

Сделайте реверс-инжиниринг дорогим.

Атакующие начинают с чтения вашего приложения. Shield переписывает скомпилированное приложение так, что логику, эндпоинты и секреты гораздо сложнее прочитать, изменить и перепаковать, не трогая ваш исходный код.

  • Обфускация кода и строк
  • Защита от модификации и проверки целостности
  • Файлы маппинга сохраняются для читаемых отчётов о сбоях

Что делает Shield

  • 01

    Обфускация имён и кода

    Переименовывает классы, методы и поля и перестраивает поток управления, так что декомпилированный результат мало говорит атакующему о том, как устроено приложение.

  • 02

    Шифрование строк

    В Android эндпоинты, ключи и другие чувствительные строки шифруются при сборке и расшифровываются только тогда, когда нужны.

  • 03

    Целостность и защита от модификации

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

  • 04

    Диверсификация по сборкам

    Защита меняется от сборки к сборке, поэтому обход, написанный для одного релиза, не работает в следующем.

  • 05

    Защита ассетов и ресурсов

    Встроенные ассеты и ресурсы защищены, поэтому их нельзя просто распаковать и использовать в другом месте.

  • 06

    Читаемые отчёты о сбоях

    Для каждой сборки создаётся файл маппинга, работающий с Crashlytics, Sentry и Play Console для деобфускации stack trace.

Как Shield вписывается в ваш релиз

  1. 1

    Защита в вашем конвейере

    Pull request добавляет Moatgator в вашу сборку Android или iOS (бета). Защита применяется к скомпилированному приложению, а не к исходному коду.

  2. 2

    Подписываете вы, как и раньше

    Moatgator возвращает неподписанный артефакт. Ваш конвейер выравнивает и подписывает его, поэтому ключи и сертификаты остаются у вас.

  3. 3

    Знайте цену

    Каждая сборка сообщает о влиянии на размер приложения и время запуска, чтобы вы настроили, что включать.

moatgator.ymlИллюстративный пример
shield:  android:    obfuscation: names + control-flow    string_encryption: true    asset_protection: true  integrity: signature + code  diversify_per_build: true  report: [size, startup]   # impact per build

Что охватывает Shield

Android

  • Переименование классов, методов и полей
  • Обфускация потока управления
  • Шифрование строк
  • Защита ресурсов и ассетов
  • Проверки целостности и подписи

iOS (бета)

  • Укрепление имён, строк и символов
  • Переподпись в вашем собственном конвейере
  • Сертификаты и профили остаются у вас

Фреймворки

  • React Native с защитой бандла Hermes
  • Expo через пользовательскую функцию EAS Build
  • Flutter с обнаружением во время работы; код на Dart защищается собственной обфускацией Flutter

Часто задаваемые вопросы

Меняет ли Shield мой исходный код?

Нет. Он работает со скомпилированным приложением внутри вашего конвейера сборки, через pull request, который вы проверяете.

Замедлит ли защита приложение или сделает его больше?

Защита добавляет некоторые накладные расходы. Каждая сборка сообщает о влиянии на размер приложения и время запуска, так что вы видите стоимость и настраиваете, какие защиты включать.

Храните ли вы мои ключи подписи?

Нет. Moatgator возвращает неподписанный артефакт, а подписывает его ваш собственный конвейер. Ключи, сертификаты и provisioning profiles остаются у вас.

Работает ли это с React Native, Expo и Flutter?

Да. Бандлы React Native, собранные с Hermes, защищаются, а Expo работает через пользовательскую функцию EAS Build. Приложения Flutter получают обнаружение во время работы через наш плагин; Moatgator не обфусцирует код на Dart, поэтому оставьте включённым флаг --obfuscate самого Flutter.

Останутся ли отчёты о сбоях читаемыми?

Да. Для каждой сборки создаётся файл маппинга, и он работает с Crashlytics, Sentry и Play Console для деобфускации stack trace.

Достаточно ли одной обфускации?

Нет. Обфускация повышает стоимость анализа, но не останавливает решительного атакующего. Сочетайте Shield с Runtime, который обнаруживает модификацию и инструментирование во время работы приложения.

Готовы защитить своё приложение?

Начните бесплатно или расскажите, что вам нужно.