Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2017
Milworm99 Milworm99 is offline
Miembro
NULL
 
Registrado: nov 2017
Posts: 31
Poder: 0
Milworm99 Va por buen camino
Red face Problema con el ReadProcessMemory

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

Código:
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
Responder Con Cita
  #2  
Antiguo 08-11-2017
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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...

Código Delphi [-]
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.
Responder Con Cita
  #3  
Antiguo 08-11-2017
Milworm99 Milworm99 is offline
Miembro
NULL
 
Registrado: nov 2017
Posts: 31
Poder: 0
Milworm99 Va por buen camino
Muchas Gracias [duilioisola] me funciono !!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:20:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi