PDA

Ver la Versión Completa : Problema con el ReadProcessMemory


Milworm99
07-11-2017, 22:02:25
Hola a toda la comunidad de clubdelphi, tengo un problema con el ReadProcessMemory, lo que pasa es que estoy creando mi trainer, y estado scaneando algunos addrees, en este caso e scaneado este valor en el Cheat Engine '4236084070' y escogido este addres '13845F'.

Lo que quiero es que el valor del Address me lo muestre en un Edit y me dijeron que use el ReadProcessMemory, pero me arroja un valor diferente en el Edit, quisiera que me ayuden !!

Yo lo e estado haciendo asi con el StrToInt, pero me arroja un valor diferente

procedure TForm1.Button1Click(Sender: TObject);
var
Buffer: Cardinal;
val:dword;
begin
Edit1.Text:= IntToStr(val);
if MICSH > 0 Then
HandleX := OpenProcess(PROCESS_ALL_ACCESS, False, dwPID);
ReadProcessMemory(HandleX,Pointer(MICSH+$13845F),@Val,4,Buffer);
end;
end.

Gracias, espero su apoyo

duilioisola
08-11-2017, 09:56:40
Veo un error de lógica:
Pones el valor de VAL en el Edit, antes de cargarlo mediante la funcion ReadProcessMemory.
Además parece que falta un begin o sobra un end...


procedure TForm1.Button1Click(Sender: TObject);
var
Buffer: Cardinal;
Val: dword;
begin
// Inicializo VAL con valor 0 por si no entra en condicion
Val := 0;

// Si se cumple la condicion (MISCH > 0)
if MICSH > 0 Then
begin
// Obtengo el Handle del proceso
HandleX := OpenProcess(PROCESS_ALL_ACCESS, False, dwPID);
// Leo una posicion de memoria y la guardo en la posicion de memoria que ocupa Val
ReadProcessMemory(HandleX,Pointer(MICSH+$13845F), @Val, 4, Buffer);
end;

// Muestro el valor de Val convertido a string
Edit1.Text := IntToStr(Val);
end.

Milworm99
08-11-2017, 13:24:51
Muchas Gracias [duilioisola] me funciono !!