Задача на работе навеяла мысли о том, что не плохо было бы продолжить тему про античиты. Первая часть — тут.
Читерские трейнеры работают по принципу: "сделай действие → проанализируй данные → повторяй для уточнения данных". Современные читерские инструменты стали достаточно умными: они умеют анализировать код игры в оперативной памяти, распознавать операции шифрования, находить закономерности и эксплуатировать их. Вот таким штукам мы противостоим. Наша задача — создать непредсказуемые механизмы, которые усложнят процесс взлома.
Важно понимать, 100% способа защититься локально нет. Но можно накрутить разные уловки, которые будут усложнять взлом игры и таким образом повысить шансы хакера-энтузиаста сдуться раньше чем он достигнет успеха. И так, вот какие механизмы есть:
- Обфускация билда затрудняет декомпиляцию и анализ, делая код непонятным даже после распаковки. Имена классов, методов и полей заменяются на случайные символы. В код вставляются ложные зависимости, "мусорные" функции и некоторые другие вещи для усложнения анализа.
- Также в коде нужно избегать названия классов, свойств, полей итд, которые могут как-то отсылать к системе дешифрования и другим важным данным. Например, названия типа "RSAPrivateKey". Почему это важно? Потому, что даже у обфусцированного билда можно прочитать данные из оперативки во время выполнения.
- Хранить важные данные в зашифрованном виде. Например, если вы храните в билде ключ RSA — он имеет свою сигнатуру, его можно найти по ней. Поэтому ключ можно хранить в виде пропущенном через другую функцию шифрования и под солью 🤔
- Чтобы помешать трейнерам понять, что и как у вас происходит — нужен механизм который который будет обеспечивать отсутствие немедленного отклика на изменение данных. Это задержки и динамическая криптография. Сделать систему, которая не будет напрямую зависеть от действий пользователя, но будет делать дешифровку и шифрование важных данных новыми ключами достаточно часто. Тут важно чтобы ключи были каждый раз новые, и чтобы это происходило в непредсказуемые моменты времени. Это относится и к хранению и приватного ключа. Он как бы хранится в оперативной памяти, но все время перешифровывается и перемещается по ней. Таким образом, даже если злоумышленник "заморозил" память, ключ перестанет быть актуальным через несколько секунд.
#техничка@cat_and_code
Читерские трейнеры работают по принципу: "сделай действие → проанализируй данные → повторяй для уточнения данных". Современные читерские инструменты стали достаточно умными: они умеют анализировать код игры в оперативной памяти, распознавать операции шифрования, находить закономерности и эксплуатировать их. Вот таким штукам мы противостоим. Наша задача — создать непредсказуемые механизмы, которые усложнят процесс взлома.
Важно понимать, 100% способа защититься локально нет. Но можно накрутить разные уловки, которые будут усложнять взлом игры и таким образом повысить шансы хакера-энтузиаста сдуться раньше чем он достигнет успеха. И так, вот какие механизмы есть:
- Обфускация билда затрудняет декомпиляцию и анализ, делая код непонятным даже после распаковки. Имена классов, методов и полей заменяются на случайные символы. В код вставляются ложные зависимости, "мусорные" функции и некоторые другие вещи для усложнения анализа.
- Также в коде нужно избегать названия классов, свойств, полей итд, которые могут как-то отсылать к системе дешифрования и другим важным данным. Например, названия типа "RSAPrivateKey". Почему это важно? Потому, что даже у обфусцированного билда можно прочитать данные из оперативки во время выполнения.
- Хранить важные данные в зашифрованном виде. Например, если вы храните в билде ключ RSA — он имеет свою сигнатуру, его можно найти по ней. Поэтому ключ можно хранить в виде пропущенном через другую функцию шифрования
- Чтобы помешать трейнерам понять, что и как у вас происходит — нужен механизм который который будет обеспечивать отсутствие немедленного отклика на изменение данных. Это задержки и динамическая криптография. Сделать систему, которая не будет напрямую зависеть от действий пользователя, но будет делать дешифровку и шифрование важных данных новыми ключами достаточно часто. Тут важно чтобы ключи были каждый раз новые, и чтобы это происходило в непредсказуемые моменты времени. Это относится и к хранению и приватного ключа. Он как бы хранится в оперативной памяти, но все время перешифровывается и перемещается по ней. Таким образом, даже если злоумышленник "заморозил" память, ключ перестанет быть актуальным через несколько секунд.
#техничка@cat_and_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🍓8 5❤3🔥3😁1
Media is too big
VIEW IN TELEGRAM
Этот день настал. Наша игра на релизе — «А Горюшко вслед собакою…» («Grief like a stray dog»)
Steam
VK Play
Напомню, что это небольшое интерактивное произведение о юной почтальонке, вынужденной во время Второй мировой войны доставлять родным солдат вести с фронта. В основе сюжета лежат воспоминания бабушки одного из разработчиков о детстве в деревне недалеко от Ржева, где шли кровопролитные бои. Судьбы, жизненные зарисовки и ситуации для почти всех персонажей взяты из рассказов родни, фронтовых историй и писем прадедов.
Если у вас было в планах ее приобрести, то будем благодарны отзывам. Они нужны чтобы Стим решил игру немного продвинуть, всего нужно 10 отзывов. Так что будет здорово, если поделитесь впечатлениями после игры на странице Стима.
Всем спасибо, а у нашей команды эмоциональная разгрузка🤔
#девлог@cat_and_code
Steam
VK Play
Напомню, что это небольшое интерактивное произведение о юной почтальонке, вынужденной во время Второй мировой войны доставлять родным солдат вести с фронта. В основе сюжета лежат воспоминания бабушки одного из разработчиков о детстве в деревне недалеко от Ржева, где шли кровопролитные бои. Судьбы, жизненные зарисовки и ситуации для почти всех персонажей взяты из рассказов родни, фронтовых историй и писем прадедов.
Если у вас было в планах ее приобрести, то будем благодарны отзывам. Они нужны чтобы Стим решил игру немного продвинуть, всего нужно 10 отзывов. Так что будет здорово, если поделитесь впечатлениями после игры на странице Стима.
Всем спасибо, а у нашей команды эмоциональная разгрузка
#девлог@cat_and_code
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥30 5❤🔥3👍3💩1
У нас игра максимально серьезная, но тут, на этом канале я могу позволить себе немного расслабить щи. Нас кое-где успели упомянуть и написать отзывы. Собралась небольшая подборка, которая описывает все многообразие мнений. Те еще эмоциональные качели, с одних кекаешь, другие очень серьезные.
Особенно занимательно читать комментарии, где часть людей записывает нас в ЦИПСО, другая в грантополучателей от правительства. И никто не знает, что мы начали делать игру уже давно на чистом энтузиазме.
Сделали канал чисто для анонсов наших проектов и прочей официальной информации - https://news.1rj.ru/str/rayonistgames
#девлог@cat_and_code
Особенно занимательно читать комментарии, где часть людей записывает нас в ЦИПСО, другая в грантополучателей от правительства. И никто не знает, что мы начали делать игру уже давно на чистом энтузиазме.
Сделали канал чисто для анонсов наших проектов и прочей официальной информации - https://news.1rj.ru/str/rayonistgames
#девлог@cat_and_code
❤7🫡4 4🤣2👍1
Друзья подарили небольшую ретро-приставку, и меня мощно накрыло ностальгией. Но быстро стало понятно — 8 бит маловато, захотелось большего. Полез смотреть ретро-консоли на маркетплейсах и… разочаровался. Везде какие-то кастомные системы, костыли, проприетарные оболочки, а чтобы добавить туда новые игры — целый квест с бубном. Плюс жесткие ограничения по платформам: ни тебе PSP, ни DOS-эмуляторов, ни поддержки ScummVM, так что о старых квестах вроде Monkey Island или Beneath a Steel Sky можно забыть. Ну и, конечно, хотелось бы в некоторые тайтлы поиграть вдвоём.
В общем, идея понятна — собрать что-то самому. И такие решения, к счастью, есть. Хотя возможно, я просто искал повод наконец-то купить Raspberry Pi... Консоли быть, но собранной своими руками из разных железяк. Начало положено, плата пришла, но жду прибытия остальных деталей. Кстати, под Raspberry даже продают корпуса в стиле классических консолей — например, на втором фото корпус под Sega Genesis.
В общем, идея понятна — собрать что-то самому. И такие решения, к счастью, есть.
❤9👾5🔥3
Читаю «Паттерны программирования игр» Роберта Нистрема. Книжка хорошая — рекомендую, но мне кажется автор пытается передать какое-то мета-сообщение через подписи к иллюстрациям.
😁26❤1🔥1😱1
Тестирую новую нейронку для рабочих задач — dickpick deepseek
Плюсы:
- Не тупая, как у Яндекса
- Не нужен VPN
- Есть приложение
- Есть кнопка для "поиска" информации в интернете
Минусы
- Контекст быстрее теряется
Ничего принципиального нового или каких-то супер отличий от CahtGPT или Claude не ощутил. Успели попробовать?
Плюсы:
- Не тупая, как у Яндекса
- Не нужен VPN
- Есть приложение
- Есть кнопка для "поиска" информации в интернете
Минусы
- Контекст быстрее теряется
Ничего принципиального нового или каких-то супер отличий от CahtGPT или Claude не ощутил. Успели попробовать?
😁11😱1🙈1
Forwarded from События в Листве
Русский геймдев из Санкт-Петербурга!
Глеб Голицын и Дмитрий Котиков из независимой игровой студии Rayonist расскажут о своей новой игре «А Горюшко вслед собакою...» и обсудят, почему видеоигры могут быть серьёзными произведениями искусства.
20 февраля в 19:00 в баре «Заря», Маяковского 40. Вход за пожертвования.
«А Горюшко вслед собакою...» — это интерактивная история, действие которой разворачивается в небольшой деревне в тылу во время Великой Отечественной войны. Игроку предстоит погрузиться в историю юной Нади, которая, заменяя больную мать, становится почтальонкой, разносящей вести с фронта. Среди писем — не только слова надежды, но и трагические извещения. Основой для сюжета послужили сердечные рассказы, которыми делилась бабушка одного из разработчиков игры, а также мотивы русских народных сказок.
Разработчики расскажут о процессе создания игры, выборе темы и художественном решении, а также обсудят особенности русского и авторского геймдева, включая инди-игры, арт-игры и поэтические видеоигры. Кроме того, они опишут опыт работы с инструментами разработки.
Забронировать место: @savva_fedoseev
Глеб Голицын и Дмитрий Котиков из независимой игровой студии Rayonist расскажут о своей новой игре «А Горюшко вслед собакою...» и обсудят, почему видеоигры могут быть серьёзными произведениями искусства.
20 февраля в 19:00 в баре «Заря», Маяковского 40. Вход за пожертвования.
«А Горюшко вслед собакою...» — это интерактивная история, действие которой разворачивается в небольшой деревне в тылу во время Великой Отечественной войны. Игроку предстоит погрузиться в историю юной Нади, которая, заменяя больную мать, становится почтальонкой, разносящей вести с фронта. Среди писем — не только слова надежды, но и трагические извещения. Основой для сюжета послужили сердечные рассказы, которыми делилась бабушка одного из разработчиков игры, а также мотивы русских народных сказок.
Разработчики расскажут о процессе создания игры, выборе темы и художественном решении, а также обсудят особенности русского и авторского геймдева, включая инди-игры, арт-игры и поэтические видеоигры. Кроме того, они опишут опыт работы с инструментами разработки.
Забронировать место: @savva_fedoseev
🔥7❤3👍1