Форум: "Игры";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизТрейнеры Найти похожие ветки
← →
Alecsey (2005-03-16 21:48) [0]Люди подскажыте как писать трейнеры для игрушек.
← →
Игнатенков Станислав (2005-03-17 09:37) [1]через артмани находишь адреса памяти в которых лежат нужные данные (жизни, патроны), а потом юзаешь в дельфи функции
hwnd := FindWindow(nil,"Заголовок окна"); //вроде так :)
ADDRESS := собсвтвенно номер ячейки в памяти
function WriteMemory(Handle:HWND;address,value:integer):integer;
var
RetVal,Pid,pHandle: DWORD;
begin
GetWindowThreadProcessId(Handle,pid);
pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, pid);
WriteProcessMemory(pHandle, ptr(address) , @value, 4,RetVal);
result := RetVal;
end;
function WriteMemory2b(Handle:HWND;address,value:smallint):integer;
var
RetVal,Pid,pHandle: DWORD;
begin
GetWindowThreadProcessId(Handle,pid);
pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, pid);
WriteProcessMemory(pHandle, ptr(address) , @value, 2,RetVal);
showmessage(IntToStr(RetVal));
result := RetVal;
end;
function ReadMemory(Handle:HWND;address:integer):integer;
var
RetVal,Pid,pHandle: DWORD;
e:integer;
begin
GetWindowThreadProcessId(Handle,pid);
pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, pid);
ReadProcessMemory(pHandle, ptr(address) , @e, 4,RetVal);
result := e;
end;
function ReadMemory1b(Handle:HWND;address:integer):byte;
var
RetVal,Pid,pHandle: DWORD;
e:byte;
begin
GetWindowThreadProcessId(Handle,pid);
pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, pid);
ReadProcessMemory(pHandle, ptr(address) , @e, 1,RetVal);
result := e;
end;
function ReadMemoryStr(Handle:HWND;address:integer):string;
var
RetVal,Pid,pHandle: DWORD;
e:string[255];
begin
GetWindowThreadProcessId(Handle,pid);
pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, pid);
ReadProcessMemory(pHandle, ptr(address) , @e, 255,RetVal);
result := e[0]+Copy(e,0,pos(#0,e)-1);
end;
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c