Читы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Chrome~, 8 May 2009.

  1. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Приветствую!
    Я немного заинтересовался темой написания читов. Не столько для чего то плохого, как просто для обучения.

    Меня интересует, как пишутся AIM-bots, то есть читы, которые автоматически прицеливаются в играх в какую то точку противника. Например в контре AIM-bot может прицеливаться в голову, шею, руку и т.п... По какому принципу это происходит? Я на 99% уверен, что не с помощью анализа пикселей, потому что даже если противник за стеной, то прицел все равно перескакивает на него.

    Я считаю, что это происходит благодаря какому то хуку, но точно не уверен. Либо ставиться хук на какие то функции графического драйвера, либо анализ и замена кода игры в реальном времени.
     
  2. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    ну если вообше про то как работают всякие тренеры - это замена значений в памяти процесса (ReadProcessMemory, WriteProcessMemory)

    а вот твои AIM боты похоже заменяют некоторые функции игр или же перехватывают вызовы функциий

    вот знаю ресурс www.gamedev.ru почитай там если ты играми занимаешься )
     
    _________________________
  3. t04

    t04 Elder - Старейшина

    Joined:
    10 Jan 2007
    Messages:
    137
    Likes Received:
    40
    Reputations:
    8
    кажись там идет хук на OpenGL, если запустить игру в другом режиме то все читы просто бесполезны. в вообще в сети есть исходники ботов всех на срр, так что можно скачать и подредактировать как надо.

    тема уже поднималась мною, можешь поискать там давали ссылки на сайты разработчиков читов.
     
  4. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    А вообще чаще всего читы (в сетевых играх) просто напросто хукают работу с сокетами.
    типа recv,send и там уже анализируют пакеты которые приходят.
    Вот к примеру в контре тебе постоянно приходят координаты противника, даже если ты его не видишь(а не видишь потому что какаянить стена есть или еще чтонить).
    Тем самым чит может всегда хранить у себя координаты соперника.
    А когда ты стреляешь, то он опять анализирует данные которые идут от тебя, и если координаты выстрела близки к координатам соперника, то он автоматом чуть чуть корректирует эти значения.
    Это системная реализация, а всё остальное(красивый вывод на экран) - это дело техники и работы с OpenGL. Типа как Fraps выводит свои даные на экран, так и чит может.
     
    1 person likes this.
  5. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Хорошо, спасибо вам!
     
  6. int16h

    int16h New Member

    Joined:
    8 May 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    очень часто это делается как верно сказал slesh через сплайсинг тех же send/recv в самой игре, иногда это делается через перехват сетевого трафика, к примеру если игра под GG, а снимать его не хочется. но иногда реверсится и сама игрушка и уже в ней подменяются интересующие тебя функции. я к примеру так перехватывал некоторые вещи в lineage2 - трафик между клиентом и сервером зашифрован, перехватывать его нет смысла, зато спокойно межно перехватить все что нужно уже из самой игры где данные расшифрованы и разобраны.
     
  7. Psionix

    Psionix New Member

    Joined:
    19 Nov 2006
    Messages:
    5
    Likes Received:
    3
    Reputations:
    0
    Вот тут архивчег исходников читов под CS:S
    http://prox-coding.net/Files/SRC%20Pack2.zip
    А вот ресурс, тут выкладывают читы для популярных игрушек, проскакивают и исходники этих читов
    http://mpcdownloads.com/