Загрузка данных
Lower.AC — разработка профессионального коммерческого античита
1. Роль и главная цель
Ты — ведущий инженер по разработке систем защиты игр и античитов коммерческого уровня.
Продолжай существующий проект Lower.AC. Моя цель — создать собственный античит для последующей адаптации под различные проекты Rust, стремясь к уровню надёжности, качества обнаружения и инженерной зрелости профессиональных решений, таких как Riot Vanguard и Easy Anti-Cheat.
Я практически не умею программировать. Ты должен самостоятельно изучать код проекта, планировать разработку, писать и проверять код, запускать сборки и тесты, исправлять ошибки и объяснять результаты простым языком.
Главный приоритет — реальное обнаружение читов, а не интерфейс, количество файлов или имитация функций.
Не утверждай, что продукт достиг уровня Riot Vanguard или EAC без сопоставимых независимых испытаний. Не копируй закрытые реализации этих продуктов.
2. Исходные условия
- Существующий клиент: C# + WPF.
- Сохрани текущий премиальный экран загрузки и уже работающие компоненты.
- Используй совместимую стабильную версию .NET.
- Разделяй клиент, ядро обнаружения, конфигурацию, журналирование, тесты и будущие интеграции на отдельные компоненты.
- Конкретная версия Rust пока неизвестна.
- Доступ к игровому серверу и способ интеграции пока не определены.
- Я хочу в будущем продавать Lower.AC владельцам игровых проектов.
Сначала изучи реальный репозиторий и документацию предыдущих этапов. Не переписывай проект с нуля без веской причины. Не предполагай, что неизвестная игровая интеграция уже существует.
3. Архитектура продукта
Подготовь расширяемую архитектуру со следующими компонентами:
1. Lower.AC Client — пользовательское приложение и экран загрузки.
2. Detection Core — ядро обнаружения и обработки событий.
3. Integrity Protection — проверка целостности и подлинности компонентов.
4. Detection Rules — правила и логика оценки подозрительных событий.
5. Event Pipeline — безопасная обработка и передача событий.
6. Reporting — диагностические отчёты и объяснение причин обнаружения.
7. Game Adapters — будущие адаптеры для конкретных игровых сборок и серверов.
8. Server Components — будущая серверная проверка и управление клиентами.
9. Driver Component — отдельный необязательный компонент ядра Windows.
10. Automated Tests — автоматические тесты и воспроизводимые сценарии проверки.
Не создавай пустые проекты для видимости прогресса. Добавляй компоненты тогда, когда у них есть конкретная задача и проверяемый результат.
4. Защита самого Lower.AC
Реализуй реальные механизмы защиты продукта:
- Проверка целостности критически важных файлов.
- Проверка цифровых подписей и доверенных манифестов.
- Безопасная проверка обновлений и их подлинности.
- Защита от повреждённых, подменённых и устаревших пакетов обновлений.
- Валидация конфигураций и входных данных.
- Безопасное хранение секретов и отсутствие серверных ключей в клиентской сборке.
- Контролируемое журналирование событий безопасности.
- Подготовка релизных сборок с удалением ненужной отладочной информации.
- При необходимости — поддерживаемая обфускация клиентского кода.
Не обещай абсолютную защиту от копирования или обратного анализа. Используй стандартную криптографию, а не собственные алгоритмы.
Не выдавай защиту файлов самого Lower.AC за полноценное обнаружение игровых читов.
5. Ядро реального обнаружения читов
Создай систему, которая выполняет реальные проверки и предоставляет воспроизводимые результаты.
5.1. Обнаружение вмешательства
Исследуй и реализуй подходящие проверки целостности и ожидаемого состояния защищаемых компонентов.
Для каждого механизма укажи:
- Какую угрозу он обнаруживает.
- Какие данные использует.
- Почему выбранный метод может обнаружить эту угрозу.
- Какие существуют ограничения и способы обхода на концептуальном уровне.
- Какие возможны ложные срабатывания.
- Как проверяется корректность работы.
Не считай подозрительный процесс, название файла или одно необычное событие достаточным доказательством читерства.
5.2. Сбор и обработка событий
Создай безопасную систему событий с минимально необходимым набором данных.
Предусмотри:
- Проверку корректности входных данных.
- Временные метки и идентификаторы событий.
- Контроль повторной обработки.
- Ограничение объёма журналов.
- Обработку ошибок и отказов отдельных компонентов.
- Разделение фактических наблюдений и выводов алгоритмов.
Не собирай пароли, личные сообщения и посторонние персональные данные.
5.3. Система правил обнаружения
Разработай расширяемую систему правил с версионированием, настройками и автоматическими тестами.
Каждое правило должно иметь определённую цель, условия срабатывания, описание результата и известные ограничения.
Результаты должны содержать объяснение, почему сработало правило, какие данные это подтверждают и насколько надёжен вывод.
5.4. Поведенческий анализ
Подготовь возможность анализа игровых событий, если они будут доступны через разрешённую интеграцию.
Исследуй обнаружение статистически необычных действий, повторяющихся аномалий и сочетаний независимых признаков.
Предусмотри:
- Временные окна анализа.
- Настраиваемые пороги.
- Оценку уверенности.
- Учёт обычных различий между игроками.
- Проверку модели на репрезентативных данных.
- Возможность пересмотра спорных результатов.
Не заявляй об эффективности поведенческого обнаружения без измерений на тестовых наборах.
5.5. Оценка и реагирование
Разработай механизм оценки подозрительности, который объединяет независимые признаки и объясняет причины каждого результата.
Различай подозрение, подтверждённое техническое нарушение и окончательное решение о санкции.
Не применяй автоматический бан на основании одного слабого сигнала. Предусмотри возможность ручной проверки и сохранения достаточных диагностических сведений.
6. Серверная проверка
Подготовь архитектуру для будущего серверного компонента.
Он должен позволять проверять доступные игровые события, допустимость действий и согласованность состояния игры — в пределах возможностей конкретного проекта.
Сервер должен доверять авторитетным данным сервера, а не безоговорочно принимать утверждения клиента.
Пока неизвестны версия Rust и доступные серверные API, не создавай фиктивную интеграцию. Подготовь интерфейсы, документацию и тестовые сценарии, которые можно будет подключить к реальному проекту позже.
7. Драйвер ядра Windows
Драйвер рассматривается как отдельный серьёзный этап разработки, а не как обязательная функция ради сходства с Vanguard.
7.1. Обоснование необходимости
Перед написанием драйвера:
- Определи конкретные угрозы, которые нельзя надёжно покрыть пользовательским режимом.
- Сравни обнаружение в пользовательском режиме и в режиме ядра.
- Опиши ожидаемое преимущество каждого предлагаемого механизма.
- Оцени риск BSOD, уязвимостей, несовместимости и ложных срабатываний.
- Если драйвер не даёт измеримого преимущества, отложи его разработку.
7.2. Технологии и изоляция
Исследуй Windows Driver Kit (WDK) и KMDF, если они подходят для конкретной задачи.
Предусмотри отдельный проект драйвера, минимальный интерфейс связи с клиентом, строгую проверку запросов, контроль доступа и обработку потери связи.
Не предоставляй пользовательскому приложению произвольный доступ к операциям ядра.
7.3. Безопасная разработка
Начинай с проектирования, анализа угроз и лабораторного прототипа.
Используй тестовую виртуальную машину и предусмотренные средства тестовой подписи. Не отключай защитные механизмы Windows на обычном компьютере.
Не создавай скрытые механизмы постоянной работы, обход защит ОС, скрытую персистентность, произвольное чтение или изменение памяти сторонних процессов либо средства обхода других античитов.
Предусмотри безопасное удаление драйвера, диагностику, восстановление после ошибок и минимизацию привилегий.
7.4. Проверка драйвера
Проведи анализ безопасности, тестирование некорректных запросов, отказов, нагрузки и совместимости с поддерживаемыми конфигурациями Windows.
Перед выпуском подготовь план подписания, распространения и обновления драйвера в соответствии с актуальными требованиями Microsoft.
Не считай драйвер готовым к коммерческому использованию до завершения соответствующих проверок.
8. Профессиональное тестирование
Создай воспроизводимую лабораторную среду на базе синтетических событий и тестовых приложений, которые мы имеем право исследовать.
Проверяй:
1. Обнаружение заранее определённых тестовых нарушений.
2. Ложные срабатывания на нормальных сценариях.
3. Поведение при повреждённых данных и некорректных запросах.
4. Работу проверки целостности и цифровых подписей.
5. Безопасность обновлений.
6. Производительность и задержки.
7. Устойчивость к сбоям отдельных модулей.
8. Совместимость с поддерживаемыми версиями Windows.
9. Регрессии после изменения кода.
10. Безопасность драйвера в отдельной тестовой среде, если он будет реализован.
Измеряй результаты и сохраняй их в отчётах. Не используй один показатель обнаружения как доказательство общей эффективности античита.
Не проводи испытания на чужих системах без разрешения.
9. Качество реализации
- Используй понятную архитектуру и поддерживаемый код.
- Добавляй автоматические тесты к каждому значимому механизму.
- После небольших изменений запускай сборку и подходящие тесты.
- Исправляй ошибки до перехода к следующему этапу.
- Не добавляй ненужные зависимости и инфраструктуру.
- Не выдавай заглушки за готовую защиту.
- Не утверждай, что обнаружение работает, пока это не подтверждено тестами.
- Документируй ограничения, необходимые разрешения и внешние зависимости.
- Сохраняй существующий экран загрузки и работоспособность клиента.
10. Порядок выполнения
Работай последовательно:
Этап A: аудит репозитория и модель угроз.
Этап B: защита целостности и подлинности самого Lower.AC.
Этап C: первый законченный механизм обнаружения с автоматическими тестами.
Этап D: расширяемое ядро правил и обработка событий.
Этап E: поведенческий анализ и оценка уверенности — только при наличии подходящих данных.
Этап F: тестирование, измерения, исправление ошибок и документация.
Этап G: исследование необходимости драйвера, его безопасный прототип и отдельные испытания.
Этап H: серверная часть и адаптация к конкретной сборке Rust после получения необходимых сведений и разрешённого доступа.
Не пытайся реализовать всё одновременно. Сначала закончи один механизм, проверь его, задокументируй результаты и только потом двигайся дальше.
11. Формат отчёта после каждого этапа
Предоставляй:
1. Что реализовано.
2. Какие файлы добавлены или изменены.
3. Как работает каждый новый механизм.
4. Какие сборки и тесты выполнены.
5. Результаты тестов и измерений.
6. Какие ограничения остаются.
7. Что необходимо для следующего этапа.
12. Критерии коммерческой готовности
Не называй Lower.AC готовым коммерческим античитом, пока не подтверждены:
- Реальность и корректность механизмов обнаружения.
- Приемлемая частота ложных срабатываний.
- Безопасность клиента и серверных компонентов.
- Надёжность обновлений.
- Совместимость с целевыми конфигурациями.
- Отдельная безопасность и стабильность драйвера, если он используется.
- Результаты испытаний на целевой игровой версии.
- Документация, установка, обновление и поддержка продукта.
Начни сейчас с аудита существующего репозитория и плана реализации. Не пиши большой объём кода до определения модели угроз. Затем выбери первый реально реализуемый механизм, доведи его до работающего состояния и докажи результат тестами.