PeterParty
Lt. Junior Grade
- Registriert
- Aug. 2008
- Beiträge
- 282
Hey,
Ich möchte von einem Prozess eine bestimmte Speicheradresse finden, das möchte ich mit VirtualQueryEx und ReadProcessMemory bewältigen.
Mit der VirtualQueryEx Funkition möchte ich erstmal den Speicherbereich von meinem Prozess finden.
Vom Prinzip verstehe ich das so, dass die BaseAdress = Anfangsadresse und BaseAdress + RegionSize = Endadresse?
Ich habe diese Seite im Internet gefunden und auf meinen Prozess angewendet.
Als Ergebniss bekomme ich:
0 = Anfangsadresse?
4294967295 = Endadresse?
Bevor ich mit dem Durchsuchen der Adressen anfgange wollte ich fragen ob ich bis hierhin alles richtig gemacht habe?
Viele Grüße
Peter
Ich möchte von einem Prozess eine bestimmte Speicheradresse finden, das möchte ich mit VirtualQueryEx und ReadProcessMemory bewältigen.
Mit der VirtualQueryEx Funkition möchte ich erstmal den Speicherbereich von meinem Prozess finden.
Code:
[StructLayout(LayoutKind.Sequential)]
public struct MEMORY_BASIC_INFORMATION
{
public IntPtr BaseAddress;
public IntPtr AllocationBase;
public uint AllocationProtect;
public IntPtr RegionSize;
public uint State;
public uint Protect;
public uint Type;
}
Vom Prinzip verstehe ich das so, dass die BaseAdress = Anfangsadresse und BaseAdress + RegionSize = Endadresse?
Ich habe diese Seite im Internet gefunden und auf meinen Prozess angewendet.
Code:
long MaxAddress = 0x7fffffff;
long address = 0;
do
{
MEMORY_BASIC_INFORMATION m;
int result = VirtualQueryEx(pHandle, (IntPtr)address, out m, (uint)Marshal.SizeOf(typeof(MEMORY_BASIC_INFORMATION)));
Console.WriteLine("{0}-{1} : {2} bytes result={3}", m.BaseAddress, (uint)m.BaseAddress + (uint)m.RegionSize - 1, m.RegionSize, result);
if (address == (long)m.BaseAddress + (long)m.RegionSize)
break;
address = (long)m.BaseAddress + (long)m.RegionSize;
} while (address <= MaxAddress);
Console.Read();
}
Als Ergebniss bekomme ich:
Code:
0 - 4294967295 : 0 bytes result = 0
0 = Anfangsadresse?
4294967295 = Endadresse?
Bevor ich mit dem Durchsuchen der Adressen anfgange wollte ich fragen ob ich bis hierhin alles richtig gemacht habe?
Viele Grüße
Peter