@AlexsandrLomaev

Какие материалы изучить для написания читов для игр?

Изучил C# на базовом уровне и хочу написать свой простой esp для простенькой игры, но не знаю от чего отталкиваться, и вот какую я помощь прошу у опытных:
Очень хорошо было бы, если вы написали бы мне прям список 1,2,3 того, после изучения чего, я смогу написать свой мини чит, например:

1) Базовые знания Assembly
2) изучения каких-либо детектив (winapi, или ещё чего)
3) ну и т.д

Чтобы я взял ваш материал, и собрал из этих знаний свой чит.
  • Вопрос задан
  • 1047 просмотров
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka Куратор тега C#
Токсичный шарпист

1) Базовые знания Assembly
2) изучения каких-либо детектив (winapi, или ещё чего)
3) ну и т.д

Всё именно так.
3. Научиться программировать
4. Разобраться, как вообще делают игры, как устроен конвеер рендера и тд.
5. Как защищаются от читов
6. Сетевые протоколы: TCP, UDP, Шифрование и прочее
7. Реверс-инжиниринг

Я бы начал с 3, 4 и 6, а потом уже пришёл ко всему остальному.
Ответ написан
@cicatrix
было бы большой ошибкой думать
Любой "чит" представляет собой программу, которая находит в адресном пространстве памяти, выделенной под игровой процесс, необходимые данные и видоизменяет их.
Собственно, сам по себе чит соорудить дело нехитрое. Найти работающий процесс, прошерстить его память, найти нужные данные и записать на их место другие (кол-во жизней, патронов и пр).
Просто - да, но дьявол в деталях. Поиск необходимой вам информации - процесс долгий и муторный. Распространённые "универсальные" читы вроде CheatEngine работают путём сравнения состояний до и после изменения, тем самым, сужая круг поиска. Но это неоптимально. Нормальный чит - продукт реверс-инжиниринга игровой программы, где ты уже точно знаешь, как игра распределяет в памяти свои ресурсы и как их искать.
Наличие исходного кода игры сильно помогает, но только отчасти.
Разумеется, разработчики игр знают обо всех этих приёмчиках и стараются максимально затруднить подобные действия. Одним из самых эффективных методов защиты является сохранение состояния игры за пределами машины игрока (на сервере разработчика). Нормальный разработчик просто не учитывает или игнорирует некорректное состояние клиентской машины. Внедрить чит игру с такой архитектурой нереально. Но часто разработчики идут на компромиссы, чтобы не хранить вообще всё на сервере, часть данных размещается на машине клиента. С этим уже можно работать, но алгоритмы на сервере направлены на поиск несоответствий в состоянии клиента и последующие санкции, если игрок будет уличён в использовании читов.
Ну и есть конченные разработчики, позволяющие изменять состояние клиента как угодно. Но обычно такие игры просто теряют своих клиентов потому что из-за обилия читеров становится невозможно играть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы