WebGL DEMO
(смотреть лучше через последнюю версию Chrome или Firefox)
(смотреть лучше через последнюю версию Chrome или Firefox)
Привет! Я рад представить свой набор простых и удобных способов для борьбы с читерами.
Anti-Cheat Toolkit включает в себя:
Obscured типы (вводное видео)
Позволяют скрывать переменные от любых мемсёрчеров (а-ля ArtMoney, Cheat Engine, GameCIH на Android и т.д.). Использовать крайне просто - достаточно заменить тип переменной на Obscured*. Например, вместо float, можно использовать ObscuredFloat, причем в большинстве случаев больше ничего делать не требуется (но лучше не забыть сменить ключ шифрования с дефолтного). Поддерживаются все базовые типы (int, float, string и т.д.) и несколько специфичных для Unity типов (Vector2 Vector3, Quaternion, в ограниченном режиме - API оригинальных типов не дублируется). LINQ в данный момент не поддерживается.
Возможен детект читинга переменных всех базовых типов (при этом оригинальные данные остаются в безопасности, т.к. читерам "скармливаются" фальшивые переменные).
Obscured Prefs (вводное видео)
Позволяет шифровать сохраняемые привычным способом данные. Кроме того, можно привязать сохранённые данные к текущему устройству и реагировать на вмешательство в сохранения. Полностью автоматическая миграция с PlayerPrefs - просто замените в проекте PlayerPrefs на ObscuredPrefs, и готово! Кроме того, для сохранения и загрузки доступен дополнительный перечень типов: uint, double, long, bool, byte[], Vector3, Color, Rect.
Также тулкит содержит удобный простой редактор для PlayerPrefs и ObscuredPrefs.
Speed Hack Detector (вводное видео)
Позволяет реагировать на speed hack из Cheat Engine и, вероятно, других аналогичных утилит.
Может не работать на рутованных устройствах.
Time Cheating Detector
Реагирует на расхождение локального и online времени. Есть настраиваемый интервал проверок и порог чувствительности.
WallHack Detector (вводное видео)
Детектит 3 основных вида wallhacking'а: проход через стены, прострел через стены и просмотр через стены (когда вместо текстур видна только полигональная сетка или используются прозрачные текстуры вместо оригинальных и т.д.)., работает на основе универсальной "песочницы", которая потенциально способна отловить и другие, неизвестные виды wallhack'ов.
Injection Detector (вводное видео)
Позволяет реагировать на любые чужеродные managed сборки (assemblies) в вашем приложении / игре.
Работает на PC (Win, Mac, Linux, WebPlayer) и Android. Перед релизом обязательно стоит проверить на целевой платформе - не будет ли ложных срабатываний, и если будут - добавить легальные сборки в белый список (по умолчанию в белый список автоматически добавляются все сборки из проекта, но некоторые сборки могут подгружаться с серверов или создаваться динамически - в таком случае их надо добавить в белый список вручную).
Интеграция со сторонними ассетами
* используется в Opsive's UFPS : Ultimate FPS
* полная поддержка Opsive's Behavior Designer
* частичная поддержка PlayMaker (всё кроме Obscured переменных, т.к. PlayMaker не позволяет добавлять свои типы без тяжеловесных обёрток)
* storage backend в Mad Level Manager
* используется в Stan’s Android Native
* используется в Stan’s Ultimate Mobile
Весь функционал должен работать на всех платформах, поддерживаемых Unity3D, если обратное не указано в описании, в readme или API.
Micro mscorlib stripping level и .NET subset API level не должны вызывать проблем - плагин полностью с ними совместим. С IL2CPP тоже проблем быть не должно (только если со стороны самого IL2CPP).
Все публичные API тщательно документированы (документация доступна online), плагин поставляется в исходниках, с детальным readme, в котором расписан весь функционал, есть примеры использования и полезные советы.
При некоторых манипуляциях, плагин можно использовать с JS (подробней можно почитать тут).
Прошу заметить, что я не гарантирую абсолютной защиты данных, которые вы доверите тулкиту, т.к. при должном упорстве и знаниях, злоумышленник сможет получить доступ ко всему, что хранится на клиенте. Это касается абсолютно любой клиентской защиты: все что мы можем сделать - увеличить количество ресурсов, требуемое на взлом. Если вы хотите абсолютной защиты - используйте тонкий клиент, которому нельзя доверять и стройте ваше приложение на сервере. Хорошо защищённом сервере ;)
К сожалению, далеко не все разработчики готовы использовать сервер, но оставлять проект совсем без защиты зачастую чревато кучей читеров-новичков в рейтингах и прочими неприятностями. По этому всем, кто жаждет реализовать нечто аналогичное в своём проекте и усложнить жизнь любителям всё повзламывать, я и предлагаю сэкономить своё время и силы, купив готовое решение.
Anti-Cheat Toolkit можно приобрести за $30 в Asset Store.
WebGL DEMO (смотреть лучше через последнюю версию Chrome или Firefox)
Англоязычный форум
Домашняя страница плагина
YouTube
Буду рад любым отзывам и пожеланиям!