Eu estou acessando uma memoria e consigo editar ela atraves do editor, mas queria por essa ediçao em um executavel na linguagem delphi: Código que estou usando
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
NomeJanela : THandle;
PHandle : THandle;
PID, TID, R : DWORD;
Escrever : DWORD;
implementation
{$R *.dfm}
Procedure PegarHandle(Titulo:String);
Begin
NomeJanela := FindWindow(nil, pChar (Titulo));
If NomeJanela <= 0 Then
Showmessage('O processo não está em execução.')
else
TId := GetWindowThreadProcessId(NomeJanela, @PID);
PHandle := OpenProcess(PROCESS_ALL_ACCESS,FALSE,PID);
end;
Procedure ler(Endereco:dword);
var
Ler:dword;
valor:integer;
begin
valor:= 0;
ReadProcessMemory(PHandle,pointer(endereco),addr(valor),4,Ler);
end;
Procedure escreve(Endereco:dword ; valor: integer);
var
w:dword;
begin
writeprocessmemory(PHandle,pointer(endereco),addr( valor),4,w);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
PegarHandle('Main');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
escreve (StrToInt ('$' + '02963388'), StrToInt ('00'));
end;
end.
mas ele não esta editando a memoria atraves desses códigos, alguém poderia me ajudar a corrigir onde esta o erro? Obrigado
( Apenas para fins de aprendizagem e aprimoramento de conhecimento)