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