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?
IsWow64Process sollte helfen. Wenn unter einem 64 Bit Windows ausgeführt und auf einen 32 Bit Prozess angewendet, ist der Rückgabewert true.