Thema: Delphi VirtualQueryEx

Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: VirtualQueryEx

  Alt 27. Jul 2015, 19:54
Kann ein 32-bit-Programm überhaupt den Speicher unter einem 64-bit-System von einem anderen 32-bit-Programm lesen?
Die normale API wird dir ERROR_PARTIAL_COPY zurückgeben vermute ich. Mit diesem Trick sollte es funktionieren:
http://rce.co/knockin-on-heavens-gat...ode-switching/

Ist allerdings recht hacky.

Wenn ich mich recht erinnere gibt es ab Vista (oder Win7) auch die undokumentierte NtWow64QueryVirtualMemory64 API (hier hatte ich mal ein Beispiel zur NtWow64QueryProcessInformation API gebastelt). Ist aber alles nicht wirklich sauber.

Und, wenn ja, wie kriege ich von laufenden Prozessen "schnell" raus, ob sie 32- oder 64-bittig sind?
MSDN-Library durchsuchenIsWow64Process sollte helfen. Wenn unter einem 64 Bit Windows ausgeführt und auf einen 32 Bit Prozess angewendet, ist der Rückgabewert true.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (27. Jul 2015 um 20:01 Uhr)
  Mit Zitat antworten Zitat