Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
Delphi 7 Enterprise
|
Memory Edit - Nop funktioniert nicht
24. Feb 2008, 11:30
Delphi-Quellcode:
var
Form1: TForm1;
ProzessName : String = 'war3.exe';
implementation
{$R *.dfm}
//Funcktion
function SchreibeInAdresse( Adresse : Integer; Value: PChar; LengthValu : Byte) : Boolean;
var
ProcessId, Write : Cardinal;
hProcSnap: THandle;
PE32: TProcessEntry32;
ProzessListe : TStringList;
Snap: THandle;
ProcessE: TProcessEntry32;
begin
ProzessListe := TStringList.Create;
//* Prozess bereits am laufen?
ProzessListe.Clear;
Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
try
ProcessE.dwSize := SizeOf(ProcessE);
if Process32First(Snap, ProcessE) then
Repeat
ProzessListe.Add(ProcessE.szExeFile);
Until not Process32Next(Snap, ProcessE)
else
RaiseLastOSError;
finally
CloseHandle(Snap);
end;
if ProzessListe.IndexOf(ProzessName) < 0 then
begin
MessageDlg('Programm nicht gestartet.', mtWarning, [mbOK], 0);
Exit;
end;
//* ProzessID auslesen
hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
if hProcSnap = INVALID_HANDLE_VALUE then
Exit;
PE32.dwSize := SizeOf(ProcessEntry32);
if Process32First(hProcSnap, PE32) = true then
while Process32Next(hProcSnap, PE32) = true do
begin
if pos(ProzessName, pe32.szExeFile) <> 0then
ProcessId := PE32.th32ProcessID;
end;
CloseHandle(hProcSnap);
//* In Adresse schreiben
ProcessId := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
WriteProcessMemory(ProcessId,Ptr( Adresse ), Value , LengthValu ,Write);
CloseHandle(ProcessId);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SchreibeInAdresse( $6f4d9176, #144#144#144#144#144#144, 6);
end;
Das ist mein Code, um in Warcraft III eine Adresse zu patchen. Rausgefunden habe ich diese mit CheatEnginge. Wenn ich dort im Disambler das ding Nope funktioniert alles so wie ich will, aber wenn ich das mit dem Buttonklick nopen will tut nichts
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
|
|
Zitat
|