Read physical memory under Windows 8
Since Windows Server 2003 SP1, user-mode access to physical memory has not been possible. You will have to develop a driver to do it (or find a third-party tool that includes one).
From Technet:
In Windows Server 2003 SP1, user-mode access to the \Device\PhysicalMemory object is not permitted. All forms of access (read, write) are refused when the \Device\PhysicalMemory object is accessed from a user-mode application. Access to the \Device\PhysicalMemory object is refused regardless of the user context (Administrators, Users, Local System, etc.) the application is running in.
Map physical memory address to a user space application in windows
Device drivers can map physical memory into the address space of a user-mode process using MmMapLockedPagesSpecifyCache
and the related functions. To the best of my knowledge, there is no way to do this without a device driver.
Is possible to read virtual memory on Unix/Linux? And on Windows?
For Windows, if you need to read memory from a process, you'll need to request the PROCESS_VM_READ when you get your handle to the process (ReadProcessMemory is the appropriate call). In order to get that Handle, it's usually easier to start the process yourself with OpenProcess.
Related Topics
How to Use Formatmessage() Properly in C++
Initialization: Parenthesis VS. Equals Sign
C++ Efficiently Calculating a Running Median
Error: Variable "Cannot Be Implicitly Captured Because No Default Capture Mode Has Been Specified"
Why Does Libc++'s Implementation of Std::String Take Up 3X Memory as Libstdc++
Scope of Using Declaration Within a Namespace
Efficient Bitwise Operations for Counting Bits or Find the Right|Left Most Ones
Detect When Multiple Enum Items Map to Same Value
Split an Integer into Its Digits C++
Non-Copyable Elements in Vector
How to Determine the Size of an Object in C++
Clearing Terminal in Linux with C++ Code
How to Iterate Over a Priority_Queue
Problem with Std::Map::Iterator After Calling Erase()
Why Does Std::Map Operator[] Create an Object If the Key Doesn't Exist
Keyboard Input & the Win32 Message Loop
How to Test Whether a C++ Class Has a Default Constructor (Other Than Compiler-Provided Type Traits)