[Hilfe] String aus Memory lesen

08/03/2011 19:40 Master674#1
Hi, ich würd gern nen String ausm Speicher lesen. Die Länge soll dabei selbstständig berechnet werden.. Sprich es soll so lange gelesen werden bis das Byte 0x00 kommt. Dazu hab ich mir folgende Schleife geschrieben:

Code:
// ReadString
string ReadString(UINT_PTR Offset)
{
	int size;
	BYTE strbyte = {0x20}; // Hack.. musste strbyte ja mit irgendwas initiieren was nicht null ist.
	for (size=0;strbyte!=0;size++) // so lange lesen bis das byte 0x00 und damit das Ende des Strings gefunden wurde.
		ReadProcessMemory(hProcess, (LPCVOID)(Offset+size), &strbyte, 1, NULL);
	char Value[256] = "\0"; // das hier würde ich gerne durch char Value[size] = "\0" ersetzen.. jedoch sagt er mir die länge muss eine Konstante sein?!..
	if (ReadProcessMemory(hProcess, (LPCVOID)Offset, &Value, size-1, NULL))
		return (string)Value;
	else
		return NULL;
}
Kann mir jemand eine bessere Methode zeigen?