[AutoIT->Delphi] Pointer + Offset auslesen !

01/13/2011 23:06 MaxMilimeter#1
Hi,
ich habe folgendes AutoIT Script und bekomme es einfach nicht für Delphi umgeschrieben. Mit Memory Read/Write in Delphi habe ich leider keinerlei Erfahrung, deshalb bitte ich euch um eine funktionierende Funktion. AutoIT ist zwar recht easy aber spackt mal wieder rum, NosTale stürzt grundlos ab. :D

Folgender Code:
Code:
#include <Pointer.au3>
#RequireAdmin


$open = _MemoryOpen(ProcessExists("NostaleX.dat"))
Global $base = 0x0020AC93
Global $offis[2] = [0, 0x34B]

$value = 12345

_MemoryPointerWrite($base,$open,$offis,$value)
Das funktioniert, brauche das selbe nur in Delphi alternativ auch C++. Hoffe jemand kann mir hier helfen sonst bin ich verloren, suche schon seit mehrere Stunden und finde nichts das funktioniert. :rolleyes:
01/14/2011 07:08 Asuramaru#2
hoffe hilft dir^^
[Only registered and activated users can see links. Click Here To Register...]
01/14/2011 13:36 MaxMilimeter#3
In C++ hab ich es ja soweit fertig aber da weiß ich nicht wie ich einen Pointer mit Offset beschreibe. Der Pointer zeigt direkt auf die Adresse, als Value hat er den selben Wert wie die Addresse. Wie kann ich den beschreiben?

Benutze folgenden Code zum Schreiben:
Quote:
WriteProcessMemory(ProcessHandle,(void*)adresse,&v alue,sizeof(int),NULL);
Aber in CE ändert sich dann die Addrese auf den der Pointer zeigt, also das P->xxxxxxx ändert sich.
02/05/2011 21:47 Viper3001#4
Ist zwar schon bisschen spät aber falls noch die frage auftaucht:
bei 4 byte:

Quote:
function MemRead(WindowTitle:Pansichar;pointer, offset: Integer):integer;
var
WindowName: Integer;
Pidi,lBuf: Integer;
Wert:DWORD ;
Window1: Integer;
begin
WindowName :=FindWindow(nil,WindowTitle);
GetWindowThreadProcessId(WindowName ,@pidi);
Window1 :=OpenProcess(PROCESS_VM_READ ,False , pidi);

ReadProcessMemory(Window1 ,ptr(pointer),@lBuf,4,Wert);
lBuf:= lBuf+offset1;
ReadProcessMemory(Window1 ,ptr(lBuf),@lBuf,4,Wert);
result:=lBuf;
end;
Falls es fragen gibt dann immer her^^.
02/05/2011 23:02 MaxMilimeter#5
Danke, werde es evtl. irgendwann noch gebrauchen können. :D