On windows 64 bit, I\'ve got a 32 bit process that reads the memory of other 32 bit processes, and I\'d like it to be able to read 64 bit processes too.
ReadProcessM
ReadProcessMemory can read any size of memory including from x86 processes reading x64 processes.
You can without a problem, in an x86 program, do the following:
DWORD64 test = 0;
ReadProcessMemory(hProcess, (LPCVOID)lpBaseAddress, &test, sizeof(DWORD64), NULL);
Which would allow you to dereference an x64 pointer from a x86 process.