Anti-Cheat Toolkit [Asset Store]

Части и запчасти к проектам, дополнительное программное обеспечение.

Re: Anti-Cheat Toolkit

Сообщение Kea 19 янв 2014, 21:21

Подскажите, а закриптовать строку он может? То есть я скажем передаю в функцию строку с данными, возвращается закриптованая строка. И наоборот. Ближе к завершению проекта видимо приётся такой функционал делать и защиты от всяких изменений ячеек памяти, хотелось бы узнать если ли такая фича или есть ли в планах такой функционал?
Kea
UNIт
 
Сообщения: 71
Зарегистрирован: 21 июл 2012, 09:49

Re: Anti-Cheat Toolkit

Сообщение focus 19 янв 2014, 21:51

Да, для шифрования строки можно использовать ObscuredString.EncryptDecrypt("строка", "ключ"). Этот же метод можно использовать для расшифровки, благо алго симметричный.
По поводу ячеек памяти не совсем понял. В тулките есть возможность защищать значения переменных поддерживаемых типов (в ближайшем релизе список поддерживаемых типов будет такой: byte, int, uint, long, float, double, string) от поиска в памяти (значения хранятся в зашифрованном виде).
Дайте знать, если вы имели ввиду что-то другое.
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение Kea 19 янв 2014, 22:24

Спасибо за ответ, под фичей я имел в виду шифрование строк. Видимо ближе к релизу купим ваш плагин.

Всякие деньги мы шифруем просто при каждом изменении генерится случайное число и с ним XOR-ится значение. Это я имел в виду когда говорил про ячейки памяти. Примитивно конечно, но как у вас в ролике таким способом уже не найдёшь где менять значение.
Kea
UNIт
 
Сообщения: 71
Зарегистрирован: 21 июл 2012, 09:49

Re: Anti-Cheat Toolkit

Сообщение focus 24 янв 2014, 02:02

Вышла новая версия 1.2.0!
Основное в этом релизе - добавлен класс ObscuredPrefs в замен старого PlayerPrefsObscured.
* теперь можно привязывать сохранения к девайсу более гибко, в экстренном случае возможно восстановление сохранений
* добавлены новые типы для сохранения (long, bool, Vector3, byte[])
* предприняты некоторые меры для предотвращения измнения id устройства при переходе с iOS6 на iOS7
* изменение сохранений теперь можно задетектить
* другие изменения
Новый класс способен прочитать данные, сохранённые старой версией (при использовании того же ключа).

Полный список изменений:
- project updated to Unity 4.2.2
- new ObscuredPrefs introduced instead of old PlayerPrefsObscured
* PlayerPrefsObscured is no more supported, please, make sure to save all your new data using ObscuredPrefs
* all data saved with ObscuredPrefs will not be accessible using deprecated PlayerPrefsObscured!
* all data saved with deprecated PlayerPrefsObscured is accessible with ObscuredPrefs automatically as fallback (will be removed in future)
* new flexible lock data to device feature introduced, read more in api docs and readme
* now saved data may be recovered in emergency cases (like device ID change after updating from iOS 6 to iOS 7)
* attempt to prevent device id change after iOS6 to iOS7 update (works in some cases only)
* key is now encrypted with common encryptionKey (previously default key for ObscuredString was used)
* accessing data saved with regular PlayerPrefs now generates warning with additional information
* saves alteration can be detected now, use ObscuredPrefs.onAlterationDetected (see ObscuredPrefsTest)
* foreign saves usage detection added, use ObscuredPrefs.onPossibleForeignSavesDetected (see ObscuredPrefsTest)
* added example of storing encryption key outside of the IL bytecode (increasing its security level) (see ObscuredPrefsTest)
* added support of these types: long, bool, byte[], Vector3
- ObscuredByte and ObscuredLong added
- equality operations (==, !=, .Equals()) are now supported in all simple Obscured types
- all default arguments were replaced by methods overloading for additional compatibility with UnityScript
- other minor fixes
- few fixes in docs

Кроме того, проведён ряд исследований касательно запрашиваемого пользователями функционала.
Одно из наиболее часто запрашиваемых - сделать детект всяких неугодных утилит. Как выяснилось, в mono, используемом в Unity, через одно место работает класс Process - под разными версиями Windows оно ведёт себя по-разному. Например, в Win 7 x86 оно работает только вне редактора и только с отловом эксепшенов (try/catch), а под Win 8 x64 тот же самый код приводит к неконтролируемому падению клиента после встречи с любыми системными процессами. Причем это не зависит от того, под каким пользователем запущено приложение (права админа не спасают).
По-этому единственный надёжный способ реализации такого функционала - кодить в нативе и подключать как плагин к тулкиту. Возможно, это будет сделано в одном из следующих апдейтов, задача остаётся в todo, но уже с другим приоритетом.
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение Ins 27 янв 2014, 14:10

Очень удобный в использовании! Спасибо!
Ins
UNец
 
Сообщения: 47
Зарегистрирован: 06 дек 2011, 01:35

Re: Anti-Cheat Toolkit

Сообщение focus 17 мар 2014, 16:23

Наконец-то новое обновление готово и ушло на проверку в Asset Store!
Все ранее купившие могут получить обновление не дожидаясь его появления в сторе - достаточно прислать мне ваш инвойс, полученный при покупке.

Основные изменения в новой версии 1.2.5:
- появился SpeedHackDetector!
* детектит speed hack, задействованный в Cheat Engine и, вероятно, в других подобных утилитах
- ObscuredInt и ObscuredFloat переменные теперь могут задетектить попытку читинга
- Упрощён донельзя переход с PlayerPrefs на ObscuredPrefs - просто заменяем PlayerPrefs на
ObscuredPrefs и забываем об этом, старые перемнные будут заменяться на пошифрованные при первом чтении
- добавлены ObscuredVector3 и ObscuredBool по просьбам трудящихся
* ObscuredVector3 не поддерживает апи обычного вектора, чтобы что-то с ним сделать -с перва придется кастовать в обычный Vector3

Полный список изменений:
- SpeedHackDetector introduced! Allows you to react on Cheat Engine's speed hack
* some other speed hack tools may be detected too
* use GameObject->Create Other->Code Stage->Speed Hack Detector menu item to add detector in scene
* use any public SpeedHackDetector API to automatically add it to scene
- added cheating detection to the ObscuredInt and ObscuredFloat (use Obscured*.onCheatingDetected)
- migration from PlayerPrefs to ObscuredPrefs became super easy: just replace PlayerPrefs with ObscuredPrefs
and read \ write any data as usual, no more manual PlayerPrefs to ObscuredPrefs conversion!
* all data saved with regular PlayerPrefs will be automatically encrypted with ObscuredPrefs on read and
original PlayerPrefs data will be deleted
* Set ObscuredPrefs.preservePlayerPrefs to true to prevent original PlayerPrefs data deletion
- migration from legacy PlayerPrefsObscured to ObscuredPrefs became smoother: data, written with PlayerPrefsObscured
now converts to the new format while readed with ObscuredPrefs (previously - old legacy keys were left untouched
after migration).
- ObscuredPrefs.unobscuredMode implemented
* allows to write all data unobscured, for testing purposes
* thus it works in Editor only
* breaks PlayerPrefs to ObscuredPrefs migration (reminder: in Editor)
- ObscuredVector3 and ObscuredBool implemented!
- data saved in TestScene now cleans up on application quit
- ObscuredPrefs overfill in Web Player no longer breaks entire game process (and logs error in such case)
- added selftests and performance tests code to the example scene (disabled by default) for debugging and
making wise choices ;)
- fixed compilation error of WP8 build
- fixed initialization of some Obscured types
- fixed ObscuredString equality operator implementation
- minor fixes
- minor docs fixes
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение ZimM 25 мар 2014, 01:58

Эх, блин. Уже наполовину написал очень похожую античит-систему для себя, и тут увидел это :)
Мои плагины в Asset Store
Аватара пользователя
ZimM
UNец
 
Сообщения: 12
Зарегистрирован: 02 янв 2013, 04:12
Skype: serhii.yolkin
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение focus 25 мар 2014, 02:05

Для того и стараюсь - чтобы народ не тратил время на аналогичные велосипеды, если сроки сжаты или по другим причинам нет времени =)
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение focus 29 мар 2014, 00:24

Спешу порадовать тех, кто ждал официального релиза нового обновления, чтобы купить плагин - оно наконец-то появилось в Asset Store!

Кстати, с релизом следующего обновления (которое уже в работе), цена плагина немного вырастет. Все-таки он уже далеко ушёл от того, что было в день релиза первой версии (с тех пор цена не менялась).
Так что спешите купить плагин по старой цене! =D
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение focus 01 апр 2014, 02:40

Рад сообщить об отправке очередного апдейта на ревью в Asset Store:
1.2.6
- flash build support for SpeedHackDetector implemented
- ObscuredVector2 and ObscuredQuaternion implemented
- Cheating detection added to the ObscuredByte
- SpeedHackDetector now awaits Action delegate instead of MonoBehaviour and method name. Please, read API docs for details
- ObscuredPrefs.readForeignSaves field introduced
* allows to read saves locked to other device and onPossibleForeignSavesDetected action still will be fired
- deprecated PlayerPrefsObscured was removed completely, use ObscuredPrefs instead
- ObscuredFloat slightly optimized
- ObscuredDouble slightly optimized
- all default arguments were replaced by methods overloading for additional compatibility with UnityScript (again)
- minor fixes in API docs

С этим апдейтом плагин подорожает до $25, сохраняя титул самого доступного комплексного анти-чит решения в Asset Store. Так что если ещё кто-то не купил, но подумывает об этом - сейчас самое время определиться, пока апдейт не выкатился в стор =)
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение GrayFiend 05 апр 2014, 13:23

Возник вопрос касательно
focus писал(а):Asset Store или в ActiveDen

В Asset Store версия за $10 (да, я видел выше сообщение, что подорожает, но пока задаю по текущей ситуации), а в ActiveDen есть по $10 и по $20, причём если поглядеть на условия лицензии, у 10-долларовой в пунктах 4 и 5 говорится, соответственно, что использовать её можно для одного продукта (хмм… ладно, тут бы пока один годный сделать ;))) и что он должен быть бесплатным для клиентов (странноватое требование :-??)
4. You can create one End Product for a client, and you can transfer that single End Product to your client for any fee. This license is then transferred to your client.
5. You can make any number of copies of the single End Product, as long as the End Product is distributed for Free.

У 20-долларовой лицензии п.4 сохранился, но п.5 меняется на "You can Sell"

В связи с тем, что в Asset Store только 10-долларовая версия, хотелось бы прояснить ситуацию с лицензией — чего можно, и чего нельзя? :-?
Аватара пользователя
GrayFiend
UNIт
 
Сообщения: 74
Зарегистрирован: 04 дек 2011, 07:52
  • ICQ

Re: Anti-Cheat Toolkit

Сообщение focus 05 апр 2014, 13:41

GrayFiend писал(а):В связи с тем, что в Asset Store только 10-долларовая версия, хотелось бы прояснить ситуацию с лицензией — чего можно, и чего нельзя? :-?


Здравствуйте!
В Asset Store лицензия полноценная, позволяет вам использовать плгины в коммерческих продуктах.
В Active Den плагин с поднятием цены просто быстрее ревью прошел =) В итоге когда все обновления пройдут ревью, на Asset Store стоимость плагина будет $25, на ActiveDen стоимость Extended лицензии (аналог Asset Store) будет так же увеличена до $25 (запрос на увеличение с 20 до 25 сейчас на рассмотрении), а стоимость базовой лицензии будет на уровне $10-$15.

Пока такой рассинхрон, можно успеть купить плагин по старой цене :)
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение GrayFiend 05 апр 2014, 14:53

Ясно. Спасибо за быстрый ответ и разъяснение. Купил в Asset Store :ymhug:
Аватара пользователя
GrayFiend
UNIт
 
Сообщения: 74
Зарегистрирован: 04 дек 2011, 07:52
  • ICQ

Re: Anti-Cheat Toolkit

Сообщение focus 07 апр 2014, 22:07

Обновление 1.2.6 теперь доступно в Asset Store (как я и обещал, стоимость увеличилась до $25)!.
Пока его рассматривали, вышло два сервисных мини-апдейта, вот все изменения:

1.2.6u2
- fixed possible false positives of cheating detection in Obscured types
- minor API docs fixes

1.2.6u1
- extra traces in ActionScript code were commented out

1.2.6
- flash build support for SpeedHackDetector implemented
- ObscuredVector2 and ObscuredQuaternion implemented
- Cheating detection added to the ObscuredByte
- SpeedHackDetector now awaits Action delegate instead of MonoBehaviour and method name. Please, read API docs for details
- ObscuredPrefs.readForeignSaves field introduced
* allows to read saves locked to other device and onPossibleForeignSavesDetected action still will be fired
- deprecated PlayerPrefsObscured was removed completely, use ObscuredPrefs instead
- ObscuredFloat slightly optimized
- ObscuredDouble slightly optimized
- all default arguments were replaced by methods overloading for additional compatibility with UnityScript (again)
- minor fixes in API docs

Сервисные апдейты не выйдут в стор - ждать еще полторы недели, пока их одобрят в магазине, нецелесообразно, т.к. я работаю над релизом 1.2.7, в котором будут все эти изменения и ещё кое-что интересное, в том числе Injection Detector.
Это универсальный модуль для автоматического отслеживания инжекта чужеродных managed библиотек в ваше приложение (планируется поддержка PC, включая WebPlayer, а так же Android и iOS), производимое с помощью Auto Assemble из всем известного Cheat Engine, или просто с помощью самописных утилит для mono embed'а.
По этому, я рекомендую после обновления либо обратиться ко мне для получения последней версии, либо пока не использовать детект читинга Obscured типов.
В любом случае, довольно скоро я закончу работу над 1.2.7 (планируется на этой неделе + примерно одна неделя на аппрув) и все эти неудобства будут устранены.

P.S.: в 1.2.7 уже не будет экспериментального модуля IntegrityChecker, эксперимент был интересный, но неэффективный, невостребованный и пару последних версий он вообще не работал =)
С другой стороны, во время работы над Injection Detector я использовал опыт, полученный при разработке IntegrityChecker, так что нельзя сказать, что модуль бы разработан зря.
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Re: Anti-Cheat Toolkit

Сообщение focus 11 апр 2014, 03:36

Рад сообщить о выходе новой версии плагина: 1.2.7! Обновление уже доступно в Asset Store (в этот раз review команда превзошла себя).

Что нового в версии 1.2.7:
- InjectionDetector introduced
* allows to detect if someone injects any managed dll into your app
- ObscuredShort and ObscuredUShort with cheating detection implemented
- IntegrityChecker removed (see my considerations here: http://forum.unity3d.com/threads/196578-Anti-Cheat-Toolkit-RELEASED/page7?p=1577548&viewfull=1#post1577548)
- significant changes and fixes in API documentation (should be prettier and more detailed now)
- DeviceLockLevel enum moved into the ObscuredPrefs class, thus now it should be reached as ObscuredPrefs.DeviceLockLevel
- SpeedHackDetector's StartMonitoring methods were renamed to StartDetection ones
- minor improvements in flash implementation of SpeedHackDetector
- ObscuredUint was renamed to ObscuredUInt
- minor files structure changes, please, make clean update (completely remove previous version before updating)
- minor fixes and optimizations

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

Немного про новый Injection Detector: эта штука позволяет детектить чужеродные managed сборки в вашем приложении. Сборки обычно инжектят для добавления какого-либо функционала в приложение, добавляют даже полноценных ботов.
Этот детектор пока в экспериментальной стадии. Он был протестирован на заявленных платформах, но могут быть особые случаи, по-этому просьба цделить его работе особое внимание, если будете пользоваться. Кастомные сборки, подгружаемые в realtime пока не поддерживаются (в одном из следующих обновлений появится возможность добавлять кастомные не включаемые в билд сборки в исключения).
Полезные плагины:
Maintainer | Anti-Cheat Toolkit | Advanced FPS Counter
Аватара пользователя
focus
UNITрон
 
Сообщения: 263
Зарегистрирован: 20 авг 2013, 22:59
Откуда: Russia, Saint-Petersburg
  • Сайт

Пред.След.

Вернуться в Компоненты (Копилка)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1