![]() |
Memory Edit - Nop funktioniert nicht
Delphi-Quellcode:
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
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; |
Re: Memory Edit - Nop funktioniert nicht
Es ist immer recht praktisch in solchen Situationen Rückgabewerte und ErrorCodes zu überprüfen.
|
Re: Memory Edit - Nop funktioniert nicht
Es passiert gar nichts ;)
|
Re: Memory Edit - Nop funktioniert nicht
Du solltest eventuell mal durchsteppen und debuggen:
1. Wird der Prozess gefunden 2. Überprüf die Rückgabewerte der aufgerufenen API-Funktionen etc. Allerdings glaube ich nicht dass Blizzard erlaubt, dass du das tust! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz