Forum: Win32/Win64 API (native code)
Delphi
by sk0r,
27. Sep 2008
Würde dwBytesRead dann nicht den Wert enthalten, der noch gelesen wurde? Ich ich meine, es schlägt ja direkt der erste Aufruf fehl... Undwie überprüfe ich, bis wohin er das COMMIT Flag hat?
Forum: Win32/Win64 API (native code)
Delphi
by sk0r,
6. Sep 2008
Wenn ich die addiere, dann kommt Zugriff verweigert. :/
Forum: Win32/Win64 API (native code)
Delphi
by sk0r,
6. Sep 2008
ReadProcessMemory(hProc, tm.modBaseAddr, @gDosHeader2, sizeof(TImageDosHeader), dwBytesRead);
ReadProcessMemory(hProc, PImageNtHeaders(Cardinal(tm.modBaseAddr) + gDosHeader2._lfanew), @gNtHeaders2, sizeof(TImageNtHeaders), dwBytesRead);
var mBuf: array of Byte;
//Schlägt fehl:
ReadProcessMemory(hProc, Pointer(gNtHeaders2.OptionalHeader.BaseOfCode), @mBuf, sizeof(mBuf), dwBytesRead);
Forum: Win32/Win64 API (native code)
Delphi
by sk0r,
6. Sep 2008
hProc := OpenProcess(PROCESS_VM_READ or PROCESS_QUERY_INFORMATION, false, hProcId);
ReadProcessMemory(hProc, tm.modBaseAddr, @gDosHeader2, sizeof(TImageDosHeader), dwBytesRead);
ReadProcessMemory(hProc, PImageNtHeaders(Cardinal(tm.modBaseAddr) + gDosHeader2._lfanew), @gNtHeaders2, sizeof(TImageNtHeaders), dwBytesRead);
Und dann durchlaufe ich den Speicher von BaseOfCode nach BaseOfCode +...
Forum: Win32/Win64 API (native code)
Delphi
by sk0r,
6. Sep 2008
Hi,
ich möchte mit ReadProcessMemory einen Speicherbereich in
einen Buffer einlesen. Doch ich bekomme die Fehlernummer
299 von GetLastError. Das Prozesshandle ist gültig.
Ich wollte halt bei ImageNtHeader.OptionalHeader.BaseOfCode
bis zum Ende (ImageNtHeader.OptionalHeader.SizeOfCode) lesen.
Aber ich bekomme da immer diese Fehlernummer. dwBytesRead ist immer 0.
Danke für Hilfe im...