ФорумКалендарьЧаВоГруппыРегистрацияВход

Поделиться | 
 

 Как написать спидхак на C++

Перейти вниз 
АвторСообщение
Dj Fairy-tale
Администратор
Администратор
avatar

Сообщения : 143
Дата регистрации : 2009-11-20
Возраст : 28
Откуда : Сказка[GM] Сервера Danger-Zone

СообщениеТема: Как написать спидхак на C++   Вт Ноя 24, 2009 6:40 am

Такой темы еще не было, поэтому пишу полное руководство с подробным описанием.

Мне проще писать на С++, для делфей придется переделывать.
и так, начнем.
создайте таймер, поставьте время обновления около 100мс и в процедуре срабатывания таймера напишите такой код, ниже идет объяснение кода.
Код:

HWND wnd = FindWindow("D3D Window",NULL);
if (wnd)
{
DWORD ProcessId;
GetWindowThreadProcessId(wnd,&ProcessId);
HANDLE hdl = OpenProcess(PROCESS_ALL_ACCESS,0,ProcessId);
if (hdl)
{
DWORD a=0x00000000;
DWORD b;
ReadProcessMemory(hdl,(LPVOID)a,&b,4,0);
b=b+000;
WriteProcessMemory(hdl, (LPVOID)b, (LPVOID)&Speed, 4, 0);
CloseHandle(hdl);
}
}

HWND wnd = FindWindow("D3D Window",NULL);
В этой строке мы ищем окно, я ищу не по заголовку, а по типу окна, это удобней, если у вас загружено несколько клиентов игры, но если хотите искать по заголовку, то нужно будет написать HWND wnd = FindWindow(NULL,"RF Online");

if (wnd)
Ну тут думаю все понятно, идет проверка на результат, если окно найдено, то выполняем следующий текст, если не найдено, то ничего не выполняем

{
DWORD ProcessId;
GetWindowThreadProcessId(wnd,&ProcessId);
ищем процесс найденного окна

HANDLE hdl = OpenProcess(PROCESS_ALL_ACCESS,0,ProcessId);
открываем процесс со всеми правами (так нехорошо конечно, но так проще)

if (hdl)
и как обычно, проверка, смогли ли мы открыть процесс со всеми правами, если смогли, выполняем код, если нет, то ничего не выполняем.

{
DWORD a=0x00000000; //этой переменной присваеваем адрес указателя,

DWORD b;
ReadProcessMemory(hdl,(LPVOID)a,&b,4,0);
Читаем значение, которое хранится в адсесе "а" в переменную "b"

b=b+000;
прибавляем к прочитанному значению смещение.

WriteProcessMemory(hdl, (LPVOID)b, (LPVOID)&Speed, 4, 0);
записываем в получившийся адрес "b" значение скорости, хранящееся в переменной Speed, не забываем, что переменная Speed вещественное число.

CloseHandle(hdl);
и не забываем закрыть открытый нами процесс.
Вернуться к началу Перейти вниз
http://da-vinci.mirbb.net
 
Как написать спидхак на C++
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
 :: RF Online :: Гайды и полные Мануалы-
Перейти: