Версия 1.0

Как создаются читы

Работа любого чита основана на том что клиент игры получает от сервера немного больше информации, чем показывается в игре. И чтобы вытащить эту информацию, нужно анализировать запущенную игру.

Разберем на примере эймбота, который помогает прицеливаться. Нам нужно найти, в каком месте игра хранит информацию о расположении противников, затем нужна возможность на моделях противника различать хитбоксы, т.е. квадратики, по которым в игре рассчитываются попадания. После этого нужно провести луч от нас до противника, чтобы понять, есть ли преграда между нами и противником, такие проверки нужно делать постоянно для всех противников в радиусе поражения, ведь они перемещаются. Если преграды нет, можно наводить прицел. Для этого можно или перехватить управление мышкой или использовать управление игровой камерой. Следует также учесть возможность лагов и задержку в обновлении игровых данных, для этого нужно сделать систему предсказания положения игроков.

Предположим, всё это нам удалось, хак работает. На следующей неделе выпускается обновление игры и мы обнаруживаем что чит перестал работать. В чём дело? Просто некоторые адреса в оперативной памяти изменились и нам нужно их искать заново. Уже немного проще, потому что мы знаем КАК игра хранит данные, но всё равно, каждый новый патч это возможная причина неработоспособности хака (именно поэтому ищут не чит для игры, а чит для патча игры, если в игру играют не только на последнем патче). А ведь есть ещё античиты, для которых нам нужно подделывать данные в процессе проверок. Один из простых способов не спалиться перед античитами – не выкладывать чит в паблик где его могут скачать тысячи; многие так и делают.

Читать запись полностью »

 

Если кратко, это возможность создавать скрипты, использующие игровые функции движка сорс. Больше никаких костылей типа wait;wait;wait;wait, можно точно указать время и вообще использовать всё возможности lua в комбинации с игровыми функциями сорс движка. Конечно, есть широкий простор для мирного атома, но что-то я ничего такого не могу придумать, и на форуме у них тоже речь в основном не о fair play.

Только хотел написать, что, к сожалению, уже не актуально, как ребята выпустили версию 2.0 под Orange Box. Уже есть и некоторые меры противодействия, так, например, на одном серве абсолютно всё команды были у меня вдруг стали помечены флагом FCheat Cvar, то есть я не мог даже disconnect (если только это мне не приснилось), с позором завершал контру менеджером задач. По умолчанию скрипт запускается через openscript xxxx.lua, вместо openscript может быть любая другая команда (задаётся в файле addons\lss\lss.txt, по крайней мере для 1.5)

больше не работает?

Как сообщает Ivan01, с последним обновлением загружаются только подписанные клиентские аддоны. Теперь нужно загружать с помощью dll инжектора, как обычный чит, есть и какие-то приватные обходы проверки подписи аддонов.

Сборка с инжектором от Майка, в комплекте скрипт для зоваливания сервера. Положить в соответствующие папки, после запуска CSS запустить инжектор, написать в консоли run, если будет сообщение о неизвестной команде, значит это не работает. В противном случае можно делать run имя скрипта. Да, это скорее всего detected.

Спасибо резиденту жэк.нет TheIvan

В основном CE для сингловый игр, однако эпик фейл разработчиков Point Blank (критичные параметры не проверяются на стороне сервера) Point Blank позволяет хачить и там. Немножко старья для PB в архиве файлов. Для взлома флэш приложенией в firefox нужно искать в процессе plugin-container.exe.