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;
}






