11 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сделать чит для игры

[Урок#1]Создаем первые читы за 30 мин. ! WALL HACK , TRIGGER BOT [AutoIt]

Опции темы
Отображение
  • Линейный вид
  • Комбинированный вид
  • Древовидный вид

Привет всем ! Всвязи в с прадзниками я освободился и по просьбам решил написать эту статью.

Собственно чем мы сегодня займёмся?
Сегодня мы создадим примерно за 30 минут :
P ixel T rigger B ot – Пиксельный триггер бот
W allHack – варфреймовое вх

________________________________________________
Чуть-чуть о TriggerBot’e :
TriggerBot как я уже написал будет пиксельным , в этом есть минусы и плюсы .
Минусы в том что такой триггер бот нужно будет тонко настроить чтобы он работал идеально.
А плюсы в том что он 100% не будет ловится античитами , так как он External(т.е без инжекта).
Что такое “пиксельный”? Ответ :
Это цвет ; любая модель или текстура состоит из пикселей , они имеют определенный цветовой адрес определяющий
оттенок и т.п Мы будем в определенной облости искать цвет который есть на модельке в CS:S
и если наш чит его найдет он автоматически будет стрелять(т.е Триггер бот).

________________________________________________
Что нам понадобится :
Сам язык AutoIt – Download/Скачать
NomadMemory Plugin(для того чтобы сделать WH) –
Cheat Engine И внимательное прочтение этой статьи .
_________________________________________________
Начнём с WallHack’a :
Установите всё что упомянуто выше.
Итак ! Запустим игру . После того как она загрузилась сверните её и
запустите Cheat Engine , нажмите на мигающий значок выбора процесса.
В списке найдите hl2.exe и выберите его.
Теперь разверните игру и введите туда :
sv_cheats 1;r_drawothermodel 333555
Сверните игру .
Откройте Cheat Engine и в поиск введите 333555 нажмите кнопку .Подождите .
Слева будет список найденых значений , лично у меня нашло одно , думаю у вас будет также .
Теперь посмотрите на ваше значение , слева написан адрес, а правее чему оно равно.
Откройте блокнот и в ручную перепишите туда адрес (у меня например получилось 1С307370)
Теперь Cheat Engine можно закрыть .
Нажмите правой кнопкой мышки на рабочий стол , там выберите создать->AutoIt V3 Script.
Назавите его например WH.au3 .
Откройте его блокнотом и впишите в него вот такой код :

В этом коде меняем ” 62E642F0″ на свое , НО не удаляйте “0x”.
Теперь нужно собрать этот скрипт в exe программу :
Нажимамем правой кнопкой по скрипту и видим “Compile Script” .
Получаем exe’шник.
Разворачиваем игру , ставим sv_cheats 0;r_drawothermodels 0 заходим в игру и запускаем exe.
У вас включается WH!
Для выключения и выхода из чита нажимаем F6.

_________________________________________________
Теперь Pixel Trigger Bot :
*Совет- лучше делать такой triggerbot с чамсами(цветными модельками)
Также как и выше создаем на рабочем столе скрипт AutoIt .
Открываем его блокнотом.
Вставляем туда :

Запускаем игру и сворачиваем её. Заходим в папку с AutoIt находим там Au3Info.exe и запускаем .
Там вы найдете Finder Tool в виде такого прицела . Разворачиваете игру , запускаете игру с ботами.
Пишите в консоль : sv_cheats 1;bot_stop 1, чтобы боты стояли . Подходите к ним
и октрываете чат мышкой переключаетесь на AutoIt зажимаете Finder Tool .Представьте вокруг вашего прицела квадрат .
Так вот Finder Tool нужно перенести на левый , верхний угол этого квадрата . Квадрат должен быть чуть больше прицела .
И отпустите Finder Tool ,переключитесь на окно програмы найдите там вкладку Mouse (снизу) .
Там буду координаты(Pisition) поставленной вами точки, а также её цвет .
В данном мной коде замените “956,546” на то что получилось у вас(Position) .
Теперь снова зажмите Finder Tool и теперь перенесите его на правый нижний угол воображаемого квадрата.
Теперь замените “965,552” на полученные данные .
И теперь последний раз зажмите Finder Tool и наведите его на модель противника .
Замените “0xCF3429” в моем коде на Color который выбрали вы (он тоже находится в вкладке Mouse
Finder Tools’a).
Скрипт готов !
Компилируем его как я написал выше .
Запускаем .
Теперь когда цвет который вы нашли попадет в ваш воображаемый квадрат , чит автоматически выстрелит .
Теперь какие могут быть проблемы .
1)На расстояниях пиксели теряют цвет , поэтому нужно вбить несолько цветов с разных расстояний ,
для этого просто расскопируйте весь код(кроме HotKeySet(““,”_Exit”)) в файле несколько раз , но поставьте разные цвета .
2)Мы сделали триггер бот только для одной команды , поэтому можно сделать сразу для двух или сделать переключаемый вариант
(может быть скоро выложу исходники).
3)Может подлагивать если вы выбрали слишком большую область (уменьшите её).

Наверное я описал все не очень понятно , за это простите ,но постарайтесь вникнуть в написанное .
Для того чтобы было хоть чуть-чуть понятней , вот несколько видео :


Это читерство! Учимся взламывать игры и писать читы на простом примере

Содержание статьи

Виды читов и применяемые тактики

Существуют разные виды читов. Можно разделить их на несколько групп.

External — внешние читы, которые работают в отдельном процессе. Если же мы скроем наш external-чит, загрузив его в память другого процесса, он превратится в hidden external.

Internal — внутренние читы, которые встраиваются в процесс самой игры при помощи инжектора. После загрузки в память игры в отдельном потоке вызывается точка входа чита.

Pixelscan — вид читов, который использует картинку с экрана и паттерны расположения пикселей, чтобы получить необходимую информацию от игры.

Читать еще:  Как сделать прайс лист с картинками

Network proxy — читы, которые используют сетевые прокси, те, в свою очередь, перехватывают трафик клиента и сервера, получая или изменяя необходимую информацию.

Есть три основные тактики модификации поведения игры.

  1. Изменение памяти игры. API операционной системы используется для поиска и изменения участков памяти, содержащих нужную нам информацию (например, жизни, патроны).
  2. Симуляция действий игрока: приложение повторяет действия игрока, нажимая мышкой в заранее указанных местах.
  3. Перехват трафика игры. Между игрой и сервером встает чит. Он перехватывает данные, собирая или изменяя информацию, чтобы обмануть клиент или сервер.

Большинство современных игр написаны для Windows, поэтому и примеры мы будем делать для нее же.

Пишем игру на C

Про читы лучше всего рассказывать на практике. Мы напишем свою небольшую игру, на которой сможем потренироваться. Я буду писать игру на C#, но постараюсь максимально приблизить структуру данных к игре на C++. По моему опыту читерить в играх на C# очень просто.

Принцип игры прост: нажимаешь Enter и проигрываешь. Не особо честные правила, да? Попробуем их изменить.

Приступим к реверс-инжинирингу

У нас есть файл игры. Но вместо исходного кода мы будем изучать память и поведение приложения.

Начнем с поведения игры

При каждом нажатии Enter жизни игрока уменьшаются на 15. Начальное количество жизней — 100.

Изучать память мы будем при помощи Cheat Engine. Это приложение для поиска переменных внутри памяти приложения, а еще хороший дебаггер. Перезапустим игру и подключим к ней Cheat Engine.

Подключение CE к игре

Первым делом мы получаем список всех значений 85 в памяти.

Все значения, которые нашел CE

Нажмем Enter, и показатель жизней будет равен 70 . Отсеем все значения.

Значение найдено

Вот и нужное значение! Изменим его и нажмем Enter для проверки результата.

Значение изменено
Скрин игры, после того как мы нажали Enter

Проблема в том, что после перезапуска игры значение будет уже по другому адресу. Каждый раз отсеивать его нет никакого смысла. Необходимо прибегнуть к сканированию AOB (Array Of Bytes — массив байтов).

При каждом новом открытии приложения из-за рандомизации адресного пространства (ASLR) структура, описывающая игрока, будет находиться на новом месте. Чтобы найти ее, необходимо сначала обнаружить сигнатуру. Сигнатура — это набор не меняющихся в структуре байтов, по которым можно искать в памяти приложения.

После нескольких нажатий на Enter количество жизней изменилось на 55 . Снова найдем нужное значение в памяти и откроем регион, в котором оно находится.

Регион памяти

Выделенный байт и есть начало нашего int32 -числа. 37 00 00 00 — число 55 в десятичной форме.

Я скопирую небольшой регион памяти и вставлю в блокнот для дальнейшего изучения. Теперь перезапустим приложение и снова найдем значение в памяти. Снова скопируем такой же регион памяти и вставим в блокнот. Начнем сравнение. Цель — найти байты рядом с этой сигнатурой, которые не будут меняться.

Начинаем сравнивать байты

Проверим байты перед структурой.

Бинго!

Как видишь, выделенные байты не изменились, значит, можно попробовать использовать их как сигнатуру. Чем меньше сигнатура, тем быстрее пройдет сканирование. Сигнатура 01 00 00 00 явно будет слишком часто встречаться в памяти. Лучше взять 03 00 00 01 00 00 00 . Для начала найдем ее в памяти.

Сигнатура не уникальна

Сигнатура найдена, но она повторяется. Необходима более уникальная последовательность. Попробуем ED 03 00 00 01 00 00 00 .

В подтверждение уникальности получим такой результат:

Сигнатура уникальна

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

Жизненный цикл external

Используя функцию OpenProcess , внешние читы получают дескриптор для нужного процесса и вносят необходимые изменения в код (патчинг) или считывают и изменяют переменные внутри памяти игры. Для модификации памяти используются функции ReadProcessMemory и WriteProcessMemory .

Так как динамическое размещение данных в памяти мешает записать нужные адреса и постоянно к ним обращаться, можно использовать технику поиска AOB. Жизненный цикл external-чита выглядит так:

  1. Найти ID процесса.
  2. Получить дескриптор к этому процессу с нужными правами.
  3. Найти адреса в памяти.
  4. Пропатчить что-то, если нужно.
  5. Отрисовать GUI, если он имеется.
  6. Считывать или изменять память по мере надобности.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

[ОВБ]Создаём свои читы для браузерных игр. Глава 1 – Поиск сигнатур.

Добро пожаловать!

Добро пожаловать на Чит портал RF-Cheats.ru – форум читеров и ботоводов.

Опции темы

ОВБ – обучение взлому браузерных игр.

Мне надоело что раздел читов для игр в ВК пустует.Многие просят читы на различные игры в вк , я создал специальную тему в которой написал откуда можно тибзить читики, но нет форумчане игнорируют ту тему и продолжают просить.Некоторые люди просили создать тему в которой я б рассказал как же взламывать браузерки.Потому по немногочисленным просьбам и мольбам я подготовил статью в которой я попытаюсь вас научить первому шагу к читерству – поиску сигнатур.Конечно материал есть на страницах гугла или яндекса, но идентичный вы не найдете на просторах интернета.У вас есть выбор либо учиться самими с помощью статтей,гайдов и мануалов, или же тырить чужие( ссылки на все сайты с читами будет в конце темы – пункт 3.).

  • Сейчас я предоставлю вам ссылки на необходимый софт.
  • Cheat Engine.
  • Opera 12.16.
Читать еще:  Как сделать сборку windows 7 самому

Приступаем к главному.

Мало просто знать язык программирования для создания читов! В первую очередь каждый
нормальный читодел должен уметь искать сигнатуры (взламывать игру и создавать сигнатуры),
так как без этого вы просто не сможете создать трейнер, а значит все усилия будут напрасны .

!Сигнатура -набор байтов для определенного значения в игре.

Для поиска сигнатур нам понадобиться Cheat Engine и еще желательно Opera 12.16, т.к в ней всего
один процесс и перебирать море процессов вам не придется. Обе программы вы найдете тут. Для примера будет использованы игры: «Копатель онлайн» и «Эволла 3D»(Почти Эбола ).

!Эти два способа поиска сигнатур самые важные и советую прочитать все как
можно внимательнее.

1. Стандартный способ поиска сигнатур в любой игре
Итак, для начала зайдем в «Копатель онлайн»и выберем режим война. Мы будем искать
сигнатуру на бесконечные патроны. Спрячемся чтобы нас никто не убивал. В Cheat Engine в поле
Value Type выбираем 4 Bytes (это обязательно, потому что мы будем искать значение в 4 байтах) а
в Scan Type выбираем Unknown initial value (На русском -это неизвестное значение)

и нажимаем на кнопку First Scan (На русском -это Поиск).

Так теперь давайте немного изменим наше значение (в данном случае, чтобы измени патроны
нужно пострелять), после чего выберите в поле Scan Type: Changed value (На русском – это
изменилось) и нажимаем на кнопку: Next Scan (На русском – это отсеять) .

Дальше опять изменяем значение (в нашем случае нам опять надо пострелять) и проверяем чтобы
в поле Scan Type было выбрано Changed value, после того как постреляли и проверили нажимаем
на кнопку Next Scan. Теперь выбираем в поле: Scan Type: Unchanged value (На русском – это не
изменилось).

!Не в коем случае не изменяйте значение при параметре сканирования Scan
Type: Unchanged value (На русском – это не изменилось) .

Нажимаем Next Scan 10-15 раз или пока строка Found (Всего значений) не будет меняться.

После этого, выбираем в Scan Type: Changed value, стреляем и нажимаем на кнопку Next Scan,
выполняем эти действия пока не найдется 100-500 значений. Теперь в поле Scan Type выбираем:
Decreased value (На русском – это уменьшилось) и нажимаем на кнопку Next Scan, но если
например: у нас было 8/32 пуль, стрельнули стало 7/32 то используем Decreased value, а если мы
стрельнули и у нас стало 8/24 то есть увеличилось, то выбираем в Scan Type: Increased value(На
русском – это увеличилось).

!Вам обязательно нужно всегда понимать увеличилось, уменьшилось или не
изменилось значение, которое вы ищите, так как если хотя бы раз ошибётесь
в выборе параметров, то придется все делать по новой.

Затем, когда мы нашли 1-2 значений переносим их в таблицу, нажатием на красную стрелку.

Нажимаем по значению в таблице и замораживаем его, как заморозить смотрите на картинке
ниже.

Далее, когда вы заморозили значение попытайтесь изменить его (в данном случае нам нужно
пострелять). Если у вас патроны стоят на месте после 1-4-х выстрелов, то мы нашли значение
бесконечных патронов в игре «Копатель Онлайн», но это еще не все! Теперь нам нужно
разморозить это значение и нажать по значению и на клавишу F6. Сделали? Отлично! Сейчас
нужно изменить наше значение (в данном случае пострелять), после чего у вас должно получится что-то типо этого, но обязательно в конце этой строчки должно быть «,ecx»

Нажимаем по этой строке (инструкции), далее нажимаем на кнопку «Show disassembler»

У вас должно открыться такое окно.

Дальше нажмите правой кнопкой мыши на то, что у вас выделилось, и выберите Goto address (На
русском – это перейти по адресу) и скопируйте то, что у вас будет в поле для ввода, затем
нажмите Cancel (На русском – это отмена). Теперь нажмите по первому байту правой кнопкой
мыши и выберите там Goto address, потом вставьте туда адрес, который вы копировали и нажмите
на кнопку ОК. Дальше выделите байты до 2-й желтой линии, и скопируйте их, сохраните в блокнот
или запишите на бумажке.

Теперь у нас получилась сигнатура: 89 88 BC 00 00 00 83 EC 0C 68 54 44, убираем цифры справа, и у
нас получается 89 88 BC 00 00 00 83 EC 0C, но на всякий случай лучше 7-й байт заменить на ?? т.к
после перезапуска игры он может меняться. Байт – это 2 символа. У нас получилась сигнатура
сканирования:

8988 BC 00 00 00 ?? EC 0C

Теперь нажимаем куда на рисунке указано правой кнопкой мыши и нажимаем там на Replace with
code that does nothing (На русском – это затереть NOP’ами)

Читать еще:  Что можно сделать из творога в мультиварке

И нажимаем ОК. Теперь снова то, что у нас получилось копируем до 2-й желтой линии,

У нас получилось так: 90 90 90 90 90 90 83 EC 0C 68 54 44, убираем цифры справа и у нас
получилось так: 90 90 90 90 90 90 83 EC 0C, так же можно убрать 83 EC 0C, но это не так важно.
В итоге мы нашли сигнатуру на бесконечные патроны:

Сигнатура поиска: 89 88 BC 00 00 00 ?? EC 0C
Сигнатура замены: 90 90 90 90 90 90
Перезапускаем Cheat Engine и игру. Заходим в режим война, выбираем процесс с игрой, в поле
Value Type выбираем: Array of Bytes (На русском – это массив байт) и в поле под кнопками
вставляем сигнатуру поиска: 89 88 BC 00 00 00 ?? EC 0C, ищем галочку Writable и нажимаем по ней
2-раза. У нас теперь вместо галочки должен быть квадратик синий, стреляем в игре, и нажимаем
на кнопку First Scan. У нас должно найтись 1 значение (Может и больше) в зависимости от игры,
нажимаем по значению и нажимаем на красную стрелку, когда значение появилось в таблице
нажимаем по нему и нажимаем клавишу: «Enter». Удаляем то, что там есть и вставляем сигнатуру
замены: 90 90 90 90 90 90 и нажимаем на кнопку «ОК». Стреляем в игре несколько раз и потом у
нас будут бесконечные патроны. Ура, мы нашли сигнатуру на «Копатель Онлайн» на бесконечные
патроны!

!Данный способ самый эффективный для поиска сигнатур, его можно
применять на любые значение в любой игре. Все будет зависеть только от
вашего упорства.

!Виеодемонстрация пункта 1.

2. Поиск сигнатур на быстро изменяющиеся значения
Теперь настало время для второго способа поиска сигнатур, который я покажу на примере игры
«Эволла 3D». Данный способ подойдет для поиск сигнатур на полёт, матрицу и тому подобное.
Для начала запускаем Cheat Engine, выбираем процесс с игрой. После этих действий указываем

параметры которые обведены красным на скриншоте/

Для того чтобы, найти полет, нам нужно считать то что если мы стоим на земле (не прыгаем) то это
значение «1» а если мы прыгнули то это значение «0», и так начнем поиск. Для начала установим
SpeedHack на значение «0.1» и нажмем на кнопку «Применить».

Теперь в строку «Значение:» пишем 1 и нажимаем на кнопку «Поиск», после того как мы
выполнили поиск у нас появилось море значений, но нам нужно найти одно единственное/

В поле «Значение:» пишем 0, потом заходим в игру прыгаем (Нажимаем пробел – Space), быстро
переходим в Cheat Engine и нажимаем на кнопку «Отсеять».

!Нужно это делать во время прыжка (если мы ищем матрицу, то во время
выстрела), а не после него, вот для чего нам нужен SpeedHack.

Потом опять пишем 1 и нажимаем «Отсеять», далее пишем 0, прыгаем и во время прыжка
нажимаем кнопку «Отсеять», и так нужно это делать до тех пор, пока не найдется 1 значение
(может найтись больше например 5), но часто бывает находится одно значение. После того как мы
нашли одно значение, нажимаем по нему и нажимаем на красную стрелку.

Далее нажимаем по адресу в таблице правой кнопкой мыши и выбираем «Брейкпоинт на запись»/

Потом в появившемся окне у вас должна появится одна инструкция, нажмите по ней, и нажмите
на кнопку «Отладчик».

После перехода в отладчик окно которое указано выше на скриншоте можно закрыть/

Дальше нажимаем правой кнопкой мыши на то, что у нас выделилось когда мы зашли в отладчик
и выбираем «Перейти по адресу». Копируем адрес и нажимаем на кнопку отмена.

Дальше нажимаем по первому байту левой кнопкой мыши, а потом нажимаем по ему правой
кнопкой мыши и выбираем «Перейти по адресу», вставляем туда этот адрес и нажимаем «ОК».

После чего копируем байты до 2-й желтой строчки/

Сигнатура: 8887 94 000000E85A F6 F9 FF 83 EC у 2-гои 3-го байта поставим знаки ?? т.к они могут
меняться.
Сигнатура сканирования: 88 ?? ??0000 00 E85A F6F9 FF 83 EC
Для того, чтобы нам найти сигнатуру замены нам надо нажать правой кнопкой мыши по
инструкции, и выбрать «Затереть NOP’ами», нажать «ОК».

Дальше копируем до 2-й желтой линии, и все, мы нашли замену, в итоге:
Сигнатура сканирования: 88 ?? ?? 00 00 00 E8 ?? ?? ?? ?? 83 EC
Сигнатура замены: 90 90 90 90 90 90
Перезапускаем Cheat Engine и игру. Подключаемся к процессу, выполняем сканирование этой
сигнатуры, и заменяем ее. Все работает. Ура мы нашли сигнатуру на полет.

!Данный способ подойдет для значений, которые изменяются на короткое
время (типа прыжок, выстрел и тому подобное).

!Видеодемонстрация пункта 2.

3.Где найти читы на игры в ВК ?Зачем их постить на RFC?

Источники:

https://pvpru.com/board/showthread.php?t=143959
https://xakep.ru/2019/04/11/games-hacking/
https://www.rf-cheats.ru/forum/showthread.php?t=261410

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов:
Для любых предложений по сайту: [email protected]