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