PickPickPick Пятница, 17.05.2024, 07:42
Приветствую Вас Гость | RSS
Cheats for S.T.A.L.K.E.R.
Главная | Как делаются читы для игр!? - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » О не честной игре » Читы » Как делаются читы для игр!? (№1)
Как делаются читы для игр!?
TermДата: Вторник, 01.02.2011, 18:26 | Сообщение # 1
Рядовой

Персонаж
Здоровье: 24 Уровень: 0 Энергия: 5

Пушка:
Патроны: 24 Износ:
Бронь:
Износ:
Группа: доверенный читер
Сообщений: 24
Награды: 0
Репутация: 5
Статус: Offline
Для создания читов тебе понадобятся 3 вещи:

1. Delphi какой-нибудь последней версии.
2. GameHack (или что-нибудь вроде этого). Но лучше GameTrainer (потому что халявный).
3. Прямые руки!

Для начала ты должен разузнать кое-что о гаме.

1. Название окна. Ну, название окна каждый ламер находить умеет, тут уметь-то ничего не надо.

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

Зайди в гейм. Запомни значение денег/жизней/фрагов или чего захочешь. Теперь в GameTrainer'е в первом поле выбери процесс, а во второе пиши то значение, которое ты только что запомнил (хотя ты уже, наверное, забыл). Сейчас GameTrainer выдаст тебе большое количество адресов, но нам они все нафиг не нужны! Поэтому измени это значение как-нибудь(потрать несколько пуль, купи че-нибудь, убей кого-нибудь и т.д.). Теперь снова вводи это значение в GameTrainer, только в этот раз нажимать надо не Find, а Seive! И так пока останется минимальное количество адресов.

3. Тип данных. Тип данных играет немаловажную роль! Основываясь на нем, ты будешь делать чит, а также определять максимальное значение!! Вот примеры:

byte: 256; 1 байт;
word: 65536; 2 байта;
dword: 4294967296; 4 байта;

Добавлено (01.02.2011, 18:24)
---------------------------------------------
№2
HACKING

Здесь я приведу пример создания чита для Counter-Strike'a v1.3, т.к. по-моему это самая популярная игра. Чит нам будет жизней до фига делать! Единственное, что плохо - он будет работать только если ты создал сервак и если у тебя Software Video Mode. Можно сделать и под OpenGl, но там адреса другие, потому что эти режимы занимают разное количество памяти.

Мы будем использовать вот эти API функции (почитай о них в справке):

FindWindow
GetWindowThreadProcessId
OpenProcess
ReadProcessMemory
WriteProcessMemory
CloseHandle

Сначало обЪяви вот это дерьмо:

const
WindowTitle = 'Half-Life';// названия окна
Addr_Health1 = $00137A54;
Addr_Health2 = $00138938;
Addr_Health3 = $01CBA38C;
// адреса в памяти

var
Wnd : THandle;// хэндл окна
ProcessId : integer;// пид (не п*д*р)
pokevalue : single;
// само значение (про типы данных помнишь?)
ProcHandle : integer;// хэндл процесса
NumberOfBytes: byte;// кол-во байтов
rw : cardinal;// чтение/запись

Теперь добавь на форму Edit и Button, а по нажатию button'а напиши следующее:

begin
Wnd := FindWindow(nil,WindowTitle); // получаем хэндл окна
if Wnd = 0 then // если гама не запущена, то обламываем лама
begin
MessageBox(0,'Запусти КС, козел!!','Ошибка в ДНК!',MB_OK + MB_ICONERROR);
exit;
end;

try
pokevalue := StrToInt(Edit1.Text); // получаем кол-во хп, введенное в Edit
except
MessageBox(0,'Введи хп, козел!!','Ошибка в ДНК!',MB_OK + MB_ICONERROR);
exit;
end;

GetWindowThreadProcessId(Wnd, @ProcessId); // получаем PID
ProcHandle := OpenProcess(PROCESS_ALL_ACCESS,false,ProcessId);
// получаем хэндл процесса

NumberOfBytes := 4;// в данном случае 4 байта,
// а это значит, что максимально значение
// == 2564 (~4 миллиарда хп !!!!!!!!!!!!)

WriteProcessMemory(ProcHandle,ptr(Addr_Health1),@p okevalue,NumberOfBytes,rw);
WriteProcessMemory(ProcHandle,ptr(Addr_Health2),@p okevalue,NumberOfBytes,rw);
WriteProcessMemory(ProcHandle,ptr(Addr_Health3),@p okevalue,NumberOfBytes,rw);
// хакаем игру

Closehandle(ProcHandle);
// закругляемся
end;

Можешь в чит добавить одну фишку: используя функцию ReadProcessMemory можно
вставить кол-во хп в свою прогу, и тут-же изменить на другое!!
А это можно сделать вот так:

ReadProcessMemory(ProcHandle,ptr(Addr_Health1),@po kevalue,4,rw);
Edit1.Text := FloatToStr(pokevalue);

Я так и быть дам тебе адреса на OpenGl и Direct3D, чтобы ты потренировался.

Software_Address_Health1 = $00137A54;
Software_Address_Health2 = $00138938;
Software_Address_Health3 = $01CBA38C;

OpenGl_Address_Health1 = $00137BA8;
OpenGl_Address_Health2 = $00138A88;
OpenGl_Address_Health3 = $01CA64DC;

D3D_Address_Health1 = $00137BA8;
D3D_Address_Health2 = $00138A88;
D3D_Address_Health3 = $01CA64DC;

Добавлено (01.02.2011, 18:26)
---------------------------------------------
Сделай чит сам и подари друзьям!))) biggrin biggrin biggrin

 
ДИМДата: Суббота, 05.02.2011, 15:39 | Сообщение # 2
Гл.Репортёр

Персонаж
Здоровье: 35 Уровень: 1 Энергия: 1

Пушка:
Патроны: 35 Износ:
Бронь:
Износ:
Группа: Читеры
Сообщений: 35
Награды: 1
Репутация: 1
Статус: Offline
В одиночных играх я обычно использую АРТМАНИ

Мой скайп для связи topdivice82
 
Форум » О не честной игре » Читы » Как делаются читы для игр!? (№1)
  • Страница 1 из 1
  • 1
Поиск:


Всё для читера, Читы для ТЧ Читы для ЧН Читы для ЗП Карты для ТЧ Карты для ЧН © 2024Бесплатный конструктор сайтов - uCoz