Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Помогите разобраться

Ответить
Настройки темы
C/C++ - Помогите разобраться

Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Люди добры помогите детально разобраться с кодом:
Код: Выделить весь код
#include <windows.h>
#include <stdio.h>
#include <iostream>

using namespace std;
//hier werden alle Bytes definiert die wir brauchen 
//(sie werden spдter an die entsprechenden Speicherstellen geschrieben).

BYTE nametags1[6] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90};
BYTE nametags2[2] = { 0x90, 0x90};

BYTE laser1[2] = { 0x75, 0x18};
BYTE laser2[2] = { 0x75, 0x0F};

BYTE UAV[4]= { 0xB0, 0x01, 0x90, 0xC3};

BYTE recoil[6] = { 0x0F, 0x85, 0xAA, 0x02, 0x00, 0x00}; 

int main()
{            
   
cout << "Call of Duty 4 MemoryHack\ncoded by root.\n";   
bool beenden=1;
while(beenden=1) //Diese Schleife lдuft so lange bis das Programm sich beendet, um Spaghetticode (goto x) zu verhidern.
{
                 
    cout << "Was willst du tun?\n0=Beenden 1=NameTags 2=Laser 3=RadarHack 4=Verbugtes NoRecoil\n";
    int eingabe=0;
    cin>>eingabe;     
    if(eingabe==0)
    {
                  return 0;
    }
    cout << "Searching for Cod4... \n";
    HWND window = NULL;
    while(window == NULL)
    {
                  Sleep(100);
                  window = FindWindow(NULL, "Call of Duty 4"); //Finde das Call of Duty 4 Fenster (Danke an KN4CK3R fьr diesen Teil)
    }
    DWORD prozess;
    GetWindowThreadProcessId(window, &prozess);
    HANDLE handle;
    handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, prozess);
    DWORD puffer = NULL;
    cout << "Writing to Memory... \n"; //Jetzt ьberprьfen wir, was der Benutzer denn eigentlich will
         switch(eingabe)
    {
    case 1:
        WriteProcessMemory(handle,(void*)(0x42E1AC),&nametags1,6,&puffer);
        WriteProcessMemory(handle,(void*)(0x42E1CE),&nametags2,2,&puffer);
        break;
    case 2:
        WriteProcessMemory(handle,(void*)(0x456E5B),&laser1,2,&puffer);
        WriteProcessMemory(handle,(void*)(0x456E52),&laser2,2,&puffer);
        break;
    case 3:
        WriteProcessMemory(handle,(void*)(0x56B662),&UAV,4,&puffer);
        break;
    case 4:
        WriteProcessMemory(handle,(void*)(0x457C79),&recoil,6,&puffer);
        break;
    }     
    CloseHandle(handle);   //Und brav wieder schlieЯen
    
    
} 
return 0;   
}
А то ни чё не понимаю.
Если можно поподробнее.
Заранее спасибо.
Всем кто поможет спасибо обещаю.

-------
Хочу научиться писать драйвера на с++


Отправлено: 22:57, 03-11-2008

 

Старожил


Сообщения: 181
Благодарности: 43

Профиль | Отправить PM | Цитировать


Прога патчит запущенную игру Call Of Duty 4 прямо в памяти в зависимости от выбранного пункта:
Цитата morgan1991:
0=Beenden 1=NameTags 2=Laser 3=RadarHack 4=Verbugtes NoRecoil »

Отправлено: 12:40, 04-11-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Не это я знаю, вобщем то это читы для COD4. Я хотел поподробнее узнать как они работают и почему так получается и как узнать какую часть памяти нужно изменять и на что менять. При нажатии 0 - выход , 1 - подсветка ников врагов через стены, 2- лазерный прицел, 3 - постоянный радар, 4 - незнаю.
Помогёте?

-------
Хочу научиться писать драйвера на с++


Отправлено: 14:58, 04-11-2008 | #3


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Цитата morgan1991:
как узнать какую часть памяти нужно изменять и на что менять. »
Это знают разработчики и те, кто дамп памяти игры анализировал. Так и узнают, на основе исходного кода игры или/и анализа деятельности в памяти.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:16, 04-11-2008 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Помогите разобраться

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MySQL - Помогите разобраться Red Virus Программирование и базы данных 1 04-03-2008 21:39
FreeBSD - Помогите разобраться. Myrzilka Общий по FreeBSD 0 15-01-2008 23:51
Помогите разобраться Degrimort Видеокарты 12 26-12-2007 17:46
Помогите разобраться Larich Хочу все знать 1 08-06-2007 08:25
Помогите разобраться..... Dimskiy Microsoft Windows 2000/XP 4 26-06-2006 18:50




 
Переход