Загрузка данных


Lower.AC — этапы 3, 4 и 5: защита, ядро античита и тестирование

Контекст проекта

Я разрабатываю Lower.AC — коммерческий античит для будущей адаптации под разные проекты Rust. Точная версия игры, заказчик и способ интеграции пока неизвестны.

В проекте уже должны быть премиальный экран загрузки на C# + WPF и универсальная архитектура. Сначала изучи реальный репозиторий, существующий код, документацию и результаты предыдущих этапов. Не переписывай готовые части без необходимости.

Я практически не умею программировать, поэтому самостоятельно проверять сложный код не смогу. Ты должен самостоятельно выполнять доступные сборки, тесты, исправлять ошибки и объяснять результаты простым языком.

Технологии: C#, WPF, совместимая стабильная версия .NET. Используй подходящие инструменты и библиотеки с учётом поддержки и безопасности.

Пока не привязывай продукт к конкретной версии Rust и не создавай фиктивную интеграцию с игрой или сервером.

ЭТАП 3. Защита самого Lower.AC

Цель — затруднить подмену, повреждение и несанкционированное копирование компонентов продукта.

Реализуй по мере необходимости:

1. Целостность файлов: проверку критически важных компонентов и обнаружение неожиданных изменений.
2. Подпись сборок: подготовку процесса подписания исполняемых файлов и проверки цифровых подписей.
3. Безопасные обновления: проверку подлинности обновлений, целостности пакетов и защиту от повторного применения устаревших версий там, где это уместно.
4. Защиту конфигурации: проверку входных данных, безопасное хранение настроек и недопущение доверия к непроверенным значениям.
5. Защиту секретов: не встраивай серверные ключи и другие долгосрочные секреты в клиентское приложение.
6. Снижение риска обратного анализа: при необходимости используй поддерживаемую обфускацию и удаление отладочной информации из релизных сборок.
7. Журналирование безопасности: фиксируй ошибки проверки целостности и подписи, не записывая пароли, токены или лишние персональные данные.

Не обещай абсолютную защиту от копирования или реверс-инжиниринга. Не разрабатывай собственные криптографические алгоритмы. Не отключай защитные механизмы Windows, не скрывай приложение от пользователя и не добавляй скрытую постоянную работу в системе.

Создай тесты, которые проверяют корректную работу перечисленных механизмов, включая изменённый файл, неправильную подпись и повреждённый пакет обновления.

ЭТАП 4. Ядро античита

Цель — начать разработку настоящих механизмов обнаружения читов, не выдавая демонстрационные заглушки за готовую защиту.

1. Спроектируй отдельный модуль обнаружения, не зависящий от неизвестной версии Rust.
2. Раздели источники событий, правила обнаружения, оценку подозрительности и итоговые решения.
3. Начни с безопасных проверок в пользовательском режиме Windows и синтетических тестовых данных.
4. Разработай систему правил с объяснимыми результатами: какое событие обнаружено, какое правило сработало и почему.
5. Предусмотри уровни уверенности и возможность различать подозрительное событие и подтверждённое нарушение.
6. Не допускай автоматического бана только на основании одного слабого сигнала.
7. Сделай правила настраиваемыми и версионируемыми.
8. Предусмотри обработку ошибок, защиту от некорректных входных данных и ограничение объёма журналов.
9. Раздели универсальное ядро и будущие игровые адаптеры. Не предполагай, что без интеграции с игрой можно достоверно обнаруживать все виды читов.
10. Подготовь интерфейсы, позволяющие позже подключить проверенные игровые и серверные данные.

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

Если для конкретного способа обнаружения нужны сведения о версии игры, серверный модуль или специальные разрешения, документируй это требование вместо имитации работающей функции.

ЭТАП 5. Тестирование и проверка качества

Создай автоматические тесты и воспроизводимые сценарии проверки.

Проверь:

1. Корректные и некорректные конфигурации.
2. Изменение критических файлов и проверку подписи.
3. Поддельные, повреждённые и устаревшие пакеты обновлений.
4. Синтетические события, которые должны срабатывать на определённые правила обнаружения.
5. Обычные события, которые не должны приводить к ложному обвинению.
6. Повторяющиеся события, некорректные данные и ошибки компонентов.
7. Производительность на реалистичных объёмах тестовых данных.
8. Корректную работу приложения при отказе отдельных модулей.
9. Сохранение работоспособности экрана загрузки и существующих функций.

Собирай результаты тестов в понятный отчёт: что проверено, что прошло, что не прошло, какие ограничения остаются. Измеряй ложные срабатывания на тестовых наборах и не заявляй об эффективности против реальных читов без соответствующих испытаний.

Правила выполнения

- Перед изменениями изучи репозиторий и составь план.
- Реализуй этапы последовательно: сначала этап 3, затем этап 4, затем этап 5.
- После каждого небольшого изменения выполняй сборку и подходящие тесты.
- Не удаляй и не переписывай рабочий код без необходимости.
- Не добавляй ненужные зависимости и сложную инфраструктуру ради видимости прогресса.
- Не подменяй настоящую реализацию заглушками без явной маркировки.
- Не заявляй, что функция работает, пока это не подтверждено проверкой.
- Если задача зависит от неизвестной версии игры, доступа к серверу, подписи или внешнего оборудования, объясни это и продолжай независимую часть работы.
- Обновляй README и документацию по мере реализации.

Итоговые критерии готовности

После выполнения всех трёх этапов предоставь:

1. Список реализованных механизмов защиты и обнаружения.
2. Описание архитектуры и изменённых файлов.
3. Результаты сборки и тестов.
4. Список известных ограничений и незавершённых задач.
5. Инструкцию по локальному запуску и проверке.
6. План дальнейшей разработки серверной части и будущей интеграции с конкретным проектом Rust.

Главный принцип: реальная проверяемая функциональность важнее количества файлов и сложности кода. Не называй Lower.AC готовым коммерческим античитом, пока его возможности не подтверждены соответствующими испытаниями.