Войти

Показать полную графическую версию : Помогите разобраться


morgan1991
03-11-2008, 22:57
Люди добры помогите детально разобраться с кодом:
#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;
}
А то ни чё не понимаю.
Если можно поподробнее.
Заранее спасибо.
Всем кто поможет спасибо обещаю.

Alexej77
04-11-2008, 12:40
Прога патчит запущенную игру Call Of Duty 4 прямо в памяти в зависимости от выбранного пункта:0=Beenden 1=NameTags 2=Laser 3=RadarHack 4=Verbugtes NoRecoil »

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

Admiral
04-11-2008, 17:16
как узнать какую часть памяти нужно изменять и на что менять. »
Это знают разработчики и те, кто дамп памяти игры анализировал. Так и узнают, на основе исходного кода игры или/и анализа деятельности в памяти.




© OSzone.net 2001-2012