C ++: Какой хороший способ чтения памяти из введенной DLL?

Я новичок в этой области знаний, так что я не совсем уверен … Я знаю, что у вас есть две функции: 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);
}

0

Решение

Вот один из способов сделать это:

void ReadFromMemory(DWORD addressToRead, float value)
{
value = *(float*)addressToRead;
}

Любые другие предложения?

0

Другие решения

Других решений пока нет …