Показать сообщение отдельно
Старый 18.06.2011, 11:25   #1
Новичок
 
Регистрация: 14.11.2009
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
ZolanPro пока неопределено
По умолчанию Чтение памяти GF [Delphi]

Прочитал темку (http://coderx.ru/showthread.php?t=4868) решил написать аналог АЦП (существующие не работают, т.к. на сервере защита)
Сделал всё получил следующий код:
Код:
var
  bufferaddress : pointer;
  HP_Max,temppointer: integer;
  tempBuffer: array [0..3] of byte;
  temp: byte;
  car:Cardinal;
  ipbuf,PID,hProcess,BytesCount:dword;
begin
car:=0;
showmessage(IntToStr(pHandle));
ReadProcessMemory(pHandle, ptr($7D1C0090), @tempBuffer, 4,car);
temppointer:=PInteger(@tempBuffer[0])^;
ReadProcessMemory(pHandle, ptr(temppointer+$55C), @tempBuffer, 4,car);
temppointer:=PInteger(@tempBuffer[0])^;
ReadProcessMemory(pHandle, ptr(temppointer+$98), @tempBuffer, 4,car);
temppointer:=PInteger(@tempBuffer[0])^;
ReadProcessMemory(pHandle, ptr(temppointer+$64), @tempBuffer, 4,car);
temppointer:=PInteger(@tempBuffer[0])^;
ReadProcessMemory(pHandle, ptr(temppointer+$34), @tempBuffer, 4,car);
temppointer:=PInteger(@tempBuffer[0])^;
ReadProcessMemory(pHandle, ptr(temppointer+$228), @tempBuffer, 4,car);
temppointer:=PInteger(@tempBuffer[0])^;
HP_Max:= temppointer + $22C;
MainForm.Label1.Caption:=IntToStr(HP_Max);
Который упорно не хочет правильно работать.
Пробовал в качестве начального адреса брать $1BFC268 (3D0000 Engine.dll + $0182C268) - не помогло.
Cheat Engine нормально читает и редактирует память (т.е. если даже и есть защита в клиенте то она обходиться, клиент Евро офф Gracia Final)
кто может подсказать в чём ошибка?
Запускаю клиент через свою прогу, чтоб не мучатся с поиском процесса. (к примеру заголовок окна легко меняю).

Кто может подсказать в чём ошибка?
ZolanPro вне форума   Ответить с цитированием