How does ReadPhysicalAddress work?
So basically, when I try to read a phyiscal address (e.g. looping through physical ranges) it bsods without any reason. When I read that value using another driver and MmCopyMemory, it just works fine and returns the value. Is there any detail im missing?
bsods without any reason
There is always a reason. Check the crash dump. My guess is that you are using it on some game protected with anti-cheat that messes with process directory base.
bsods without any reason
There is always a reason. Check the crash dump. My guess is that you are using it on some game protected with anti-cheat that messes with process directory base.
I'm just trying to read a physical address. Lets say, 0x234f1, MmCopyMemory gives me the value of that successfully, however the hypervisor crashes with memory management. Is there any reason in particular?
bsods without any reason
There is always a reason. Check the crash dump. My guess is that you are using it on some game protected with anti-cheat that messes with process directory base.
I'm just trying to read a physical address. Lets say, 0x234f1, MmCopyMemory gives me the value of that successfully, however the hypervisor crashes with memory management. Is there any reason in particular?
Run MmGetPhysicalMemoryRanges() and check that the address is actual valid memory range. If not it will crash. If yes and it still does, then somethings fucked.