I have been using the ZwReadVirtualMemory()
function to read the memory of different processes. However, I’ve encountered an issue: this function appears to only work if the target process is of the same architecture (i.e., x86 or x64) as the program making the call.
Specifically, my current setup involves an x86 program that needs to read memory from both x86 and x64 processes. Unfortunately, it seems that ZwReadVirtualMemory()
cannot handle this scenario directly.
How can I read memory from both x86 and x64 processes using an x86 program? Are there any alternative functions or approaches that would allow me to achieve this cross-architecture memory reading? Any code examples or detailed explanations would be greatly appreciated.