Я новичок в этой области знаний, так что я не совсем уверен … Я знаю, что у вас есть две функции: WriteProcessMemory и ReadProcessMemory, но внутренне все по-другому … Я также недостаточно знаком с указателями пока что сделать это самому — но если вы можете прокомментировать это для меня, я думаю, что все будет в порядке :).
Итак, как лучше читать память?
Кстати, это моя функция записи памяти:
void WriteToMemory(DWORD addressToWrite, char* valueToWrite, int byteNum)
{
//used to change our file access type, stores the old
//access type and restores it after memory is written
unsigned long OldProtection;
//give that address read and write permissions and store the old permissions at oldProtection
VirtualProtect((LPVOID)(addressToWrite), byteNum, PAGE_EXECUTE_READWRITE, &OldProtection);
//write the memory into the program and overwrite previous value
memcpy((LPVOID)addressToWrite, valueToWrite, byteNum);
//reset the permissions of the address back to oldProtection after writting memory
VirtualProtect((LPVOID)(addressToWrite), byteNum, OldProtection, NULL);
}
Вот один из способов сделать это:
void ReadFromMemory(DWORD addressToRead, float value)
{
value = *(float*)addressToRead;
}
Любые другие предложения?
Других решений пока нет …