Memory Management

The WriteProcessMemory() and ReadProcessMemory() functions allow one process to write to and read from virtual memory in a specified process, as long as security permits. The entire area to be written to/read from must be accessible, or the operation fails.

VirtualProtectEx() and VirtualQueryEx() allow one process to set/query page protection in the virtual memory of a specified process, as long as security permits.

Any process that has a handle to another with PROCESS_VM_WRITE and PROCESS_VM_OPERATION access can call WriteProcessMemory() and any process that has a handle to another with PROCESS_VM_READ access can call ReadProcessMemory() . The process whose address space is being written to/read from is typically, but not necessarily, being debugged.

OpenProcess() enables one process to open another, and obtain a process handle, with the necessary access. CreateProcess() enables one process to start another, and obtain a process handle, with the necessary access.

previous page next page