Логотип игрового форума RF-Cheats.ru    
Новости онлайн игр Гарант RF-Cheats.ru Чёрный рынок Реклама и привилегии Разработка читов Арбитраж

Регистрация Бан-лист Сообщество ПОПУЛЯРНОЕ
Вернуться   RF-Cheats.ru - форум читеров и ботоводов > > > >

Статьи о Rising Force

: Статьи описывающие те или иные особенности, фишки игры RFO.
Читы и обход фроста для RF Online без хайдаБоты и читы для Perfect World бесплатно без хайдаМоды и читы для World of Tanks (WoT) бесплатно без хайдаМоды и читы для Armored Warfare бесплатно без хайдаБоты и читы для DOTA 2 бесплатно без хайдаБоты и читы для Black Desert Online бесплатно без хайдаЧиты на ArcheAge бесплатно без хайдаЧиты для Warface бесплатно без хайдаВзлом ВКонтакте и ОдноклассниковСписок разделов со всеми играмиЧиты для онлайн игр






Ответ
 
Сделать тему важной Опции темы
Старый 29.03.2008, 17:10   #1
hideki
Гость
Аватар для hideki
Сообщений: n/a
Благодарностей:
0 всего

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


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

Мне проще писать на С++, для делфей придется переделывать.
и так, начнем.
создайте таймер, поставьте время обновления около 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);
и не забываем закрыть открытый нами процесс.
}
}

Последний раз редактировалось dark; 05.05.2009 в 07:57.
 
Ответить с цитированием
Сказали спасибо:
Недоступно (05.02.2011), Yummie (17.10.2009), lance (11.10.2009), litvin (05.10.2009), MeGo3aDroT (05.10.2009), Недоступно (19.08.2008), Saint94 (12.08.2008)


Старый 05.10.2009, 08:07   #2
ScapaleXiS
Нуб
Аватар для ScapaleXiS
OFFLINE
Регистрация: 05.10.2009
Сообщений: 3
Благодарностей:
1 всего
Мнения: + 6
Репутация: 4
Отправить сообщение для ScapaleXiS с помощью ICQ

Мля, это и моя бабушка умеет, ты б лучше сказал как найти адрес указателя без орижия на бег
 
Ответить с цитированием
Сказали спасибо:
Selezar (24.03.2017)
Старый 05.10.2009, 08:13   #3
MeGo3aDroT
Гость
Аватар для MeGo3aDroT
Сообщений: n/a
Благодарностей:
0 всего

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

Мне проще писать на С++, для делфей придется переделывать.
и так, начнем.
создайте таймер, поставьте время обновления около 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);
и не забываем закрыть открытый нами процесс.
}
}
не плохой гайд
 
Ответить с цитированием
Старый 16.10.2009, 02:45   #4
ScapaleXiS
Нуб
Аватар для ScapaleXiS
OFFLINE
Регистрация: 05.10.2009
Сообщений: 3
Благодарностей:
1 всего
Мнения: + 6
Репутация: 4
Отправить сообщение для ScapaleXiS с помощью ICQ

да уж,этот код без оффсета бесполезен
 
Ответить с цитированием
Старый 17.10.2009, 18:31   #5
Yummie
Гость
Аватар для Yummie
Сообщений: n/a
Благодарностей:
0 всего

Классне гайд Оо
 
Ответить с цитированием
Старый 17.10.2009, 20:07   #6
RFbager
Эксперт
Аватар для RFbager
OFFLINE
Регистрация: 12.06.2008
Сообщений: 315
Благодарностей:
641 всего
Мнения: + 3739
Репутация: 1966

Цитата:
ты б лучше сказал как найти адрес указателя без орижия на бег
Это типо ты бы лучше сумку в сумке носить научился бы без зонтика? )))))

 
Ответить с цитированием
Старый 21.10.2009, 08:12   #7
ScapaleXiS
Нуб
Аватар для ScapaleXiS
OFFLINE
Регистрация: 05.10.2009
Сообщений: 3
Благодарностей:
1 всего
Мнения: + 6
Репутация: 4
Отправить сообщение для ScapaleXiS с помощью ICQ

Цитата:
Сообщение от rfbager Посмотреть сообщение
Это типо ты бы лучше сумку в сумке носить научился бы без зонтика? )))))
Не понял о чём ты вообще, на всякий случай поясню, скорость хранится в динамической переменной, т.е.эта переменная создаётся во время выполнения программы и имеет непостоянный адрес, найти скорость в артмани несложно, но, то что ты найдёшь в артмани после перезапуска игры будет совсем другой переменной, вывод: найти указатель на переменную со скоростью, а в вышеприведённом коде нет ничего похожего на операции по нахождению указателя.
 
Ответить с цитированием
Старый 21.10.2009, 12:04   #8
Тигрь
Крестный отец всех читеров
Аватар для Тигрь
OFFLINE
Регистрация: 02.04.2008
Сообщений: 4,028
Благодарностей:
37,789 всего
Мнения: + 32062
Репутация: 106739

Цитата:
в вышеприведённом коде нет ничего похожего на операции по нахождению указателя.
Похожее на нахождения указателя есть в справке к артмани. Тут человек написал как создать спид хак, а не как перепечатывать хелп от артмани.


Если бы я был умен - я бы сошел с ума.



 
Ответить с цитированием
Ответ



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Мир танков | Проект "Армата" | ArcheAge | Black Desert | РФ Онлайн | Айон | Майнкрафт | Браузерные игры
Элдер скролс | Р2 Онлайн | Реквием Онлайн | ПУБГ | Роял Квест | ГТА Санадреас | Контра | Дота 2
Мир кораблей | Лост Арк | Arma2 DayZ mod | The War Z | Карос: Начало | Tera Online
Читы для всех Онлайн-игр