Рад сообщить, что очередное обновление было только что отпралвено на review. Подробности по обновлению я напишу как только оно будет доступно в Asset Store.
lol писал(а):А есть какое-то ограничение в мегабайтах для ObscuredPrefs на мобилках?
Насколько я знаю - нет, лишь бы места хватило. Но в любом случае для хранения больших объёмов данных лучше использовать отдельный файл и самому управлять чтением и записью, это будет надёжнее и быстрее. В будущих обновлениях в ObscuredPrefs появится такой режим в качестве опции и сохранять данные можно будет как в хранилище PlayerPrefs (как сейчас), так и в полностью отдельный файл. До тех пор вы можете написать свой менеджер сохранений в файл и использовать Obscured типы и их статические методы для шифрования отдельных порций данных.
Рад сообщить о том что новая версия ACTk 1.5.0.0 появилась в Asset Store!
Немного информации об этом релизе:
Существенное обновление всех детекторов Теперь детекторы можно просто и удобно запускать прямо из редактора, без какого-либо дополнительного кода (кроме того что вы напишете в качестве реакции на детект), т.к. теперь детекторы поддерживают UnityEvents. То есть теперь достаточно добавить детектор в сцену, убедиться что у него включена опция Auto Start (вкл. по умолчанию) и выбрать через Unity Event нужное действие при детекте. Если при детекте вам нужно выключить какой-то компонент в сцене, или выполнить уже существующий публичный метод - просто укажите это в Unity Event и можно вообще не писать какой-либо код. "Старый" вариант с запуском и настройкой из кода конечно же сохранился.
Серьёзное обновление WallHackDetector'а Теперь этот детектор реагирует на 3 распространённых типа wallhack читерства: проход через стены (этот модуль был и ранее, в обновлении он был улучшен), прострел через стены и просмотр через стены (когда вместо текстур видна только полигональная сетка или используются прозрачные текстуры вместо оригинальных и т.д.).
Стоит отметить, что этот детектор наиболее сложный из всех детекторов в тулките, особенно wireframe модуль (отвечает за детект просмотра через стены). Есть риск, что вы столкнётесь с ложными срабатываниями или иными проблемами в каких-нибудь экзотических условиях, которые я не покрыл в тестах. По этому я бы рекомендовал тестировать билд с включенными детекторами на конечном устройстве на предмет ложных срабатываний прежде чем выпускать релиз.
Кроме того, этот детектор не рекомендуется использовать его там, где в этом нет необходимости (wallhack читы в основном применяются на PC \ WebPlayer платформах и в определённых типах игр, напр. FPS шутеры), т.к. "под капотом" он использует физику, шейдеры и другие "тяжёлые" вещи требующие дополнительных ресурсов.
Улучшения в Obscured типах Теперь вы можете прятать зашифрованные значения obscured типов даже от поиска неизвестного значения (см. описание апи RandomizeCryptoKey() в доках и ридми). Ещё больше Obscured типов теперь можно вывести в инспектор (вектора, double). Другие различные улучшения и исправления в разных Obscured типах (см. полный список изменений ниже).
---
Это обновление содержит массу других улучшений и исправлений, таких как обновлённая сцена-пример (TestScene), улучшенная обработка переменных условной компиляции (в т.ч. для облегчения жизни некоторым обфускаторам), улучшения в интеграционных пакетах сторонних плагинов и т.д.
Полный список изменений:
Скрытый текст:
- Project updated to the Unity 4.6 - TestScene changed to better represent ACTk features - Changes for all detectors: * new Detection Event exposed to the inspector * new Auto Start option (see readme for details) * improvements in placement algorithm * fixed incorrect behavior in rare cases after disabling and re-enabling * fixed incorrect behavior on scenes switch in some cases * inspector appearance improvements and fixes - WallHackDetector changes: * new "Raycast" option to detect shooting through the walls * new "Wireframe" option to detect looking through the walls * new option maxFalsePositives allows to set allowed detections in a row * now you can separately control Rigidbody and Character Controller modules * now you can enable and disable all detection modules at any time * fixes and improvements * ACTK_WALLHACK_DEBUG conditional introduced, see readme for details - InjectionDetector changes: * default whitelist updated (up to Unity 5.3 Beta 2) * workaround for the IL2CPP bug (Issue ID 711312) * debug conditionals renamed and their defines removed, use Player Settings * iOS support removed since this target doesn't allow to inject Assemblies - Obscured vars changes: * RandomizeCryptoKey() API introduced to hide from 'unknown value' search * vars with same value are treated as equal now even if crypto keys differ * fixed bold texts in the inspectors of the prefabs with obscured vars - ObscuredPrefs changes: * API change: DeviceID -> DeviceId * fixed incorrect Color storage in the unobscuredMode * fixed DeleteKey removed PlayerPrefs value with enabled preservePlayerPrefs - ObscuredVector2 now can be exposed to the inspector - ObscuredVector3 now can be exposed to the inspector - ObscuredDouble now can be exposed to the inspector in Unity 5 and higher - ObscuredInt and ObscuredUInt are now able to explicitly cast to each other - ObscuredVector2 now able to implicitly cast to the Vector3 - ACTK_EXCLUDE_OBFUSCATION conditional introduced, see readme for details - PREVENT_READ_PHONE_STATE is ACTK_PREVENT_READ_PHONE_STATE now - BehaviorDesigner integration package changes: * RandomizeCryptoKey API for all SharedObscured types * WallHackDetector added to the example scene * fixed absent crypto key in the ObscuredPrefs example scene * fixes in comment docs * other minor fixes - PlayMaker integration package changes: * added keepAlive and autoDispose options to detector actions * fixes in comment docs - all detectors are now more correctly placed in the Component menu - you'll not see example scripts in the Component menu anymore - fixed possible cs0241 error in xxHash.cs file - fixed API compatibility issues - removed obsolete editor code - all editor code has proper Namespaces now - all examples code has proper Namespaces now - numerous optimizations and refactorings - additions and fixes in readme - additions and fixes in docs
Спидхак обычно применяется на системном уровне - ускоряют таймеры приложения, и обратить это из managed среды (mono) просто невозможно. Всё что мы можем сделать - отреагировать на читерство - забанить читера, усложнить ему жизнь в игре и т.д.
Потому в тулките и существует SpeedHackDetector, он умеет определять факт применения спидхака.
1 - частота проверок в секундах, то есть детектор каждую секунду будет проверять - а не применён ли у нас спид хак? 5 - количество допустимых ложных срабатываний, прежде чем чит окончательно засчитается Допустимые ложные срабатывания нужны, т.к. иногда глючат системные таймеры или само приложение. Это бывает редко, но бывает. Кроме того, в детекторе реализована система "остывания", которая позволяет через n секунд (30 по умолчанию) сбросить внутренний счётчик ложных срабатываний, чтобы на устройствах с частыми глюками ОС или хардварных таймеров со временем не выработался весь запас допустимых ложных срабатываний.
а что скажите насчет развернуть какой-нибудь вебсервис, на который можно отсылать предупреждение о подозрительном пользователе в комбинации: инфо о приложении (public guid + name), SystemInfo.deviceUniqueIdentifier или самописный аналог, в дополнение можно VK, FB, Google идентификаторы а другие разработчики могут могут выгрузить данные по какому-то ключу (deviceID, соц.сети) пользователя и если этот пользователь систематически отмечался как подозрительный в нескольких приложениях, то если не банить, то отметить сугубо для себя, что человек вполне может читерить
в сумме выходит black-list, который не 100% гарантирует обнаружение читера, но хотя бы может намекнуть, что пользователь может быть не чист на руку. по смыслу как система кредитной истории у банков, где они обмениваются информацией, чтобы исключить неприятные ситуации
My hands are hard. My mind is core. ring0x0000 c0x0063 | write code in rust right now
Это весьма специализированная задача, не думаю что я чем-то подобным займусь, но если кто-то реализует - подключить туда ACTk в качестве одного из репортеров - вполне можно.
хочу сделать его ObscuredMVector . Чтобы он хранил ObscuredDouble значения, но старые методы класса MVector работали. Как это мне правильно перегрузить значения?
publicclass ObscuredMVector : MVector { public ObscuredDouble pX; public ObscuredDouble pY; public ObscuredDouble pZ;
}
Разработчик theFisherOnline
- там, где клюёт Разработчик Atom Fishing II
- Первая 3D MMO про рыбалку Разработчик Atom Fishing
- Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.