API函数readprocessmemory
ReadProcessMemory 读另一个进程的内存,原形如下:
BOOL ReadProcessMemory(
HANDLE hProcess, // 被读取进程的句柄;
LPCVOID lpBaseAddress, // 读的起始地址;
LPVOID lpBuffer, // 存放读取数据缓冲区;
DWORD nSize, // 一次读取的字节数;
LPDWORD lpNumberOfBytesRead // 实际读取的字节数;
);
hProcess 进程句柄可由OpenProcess 函数得到,原形如下:
HANDLE OpenProcess(
DWORD dwDesiredAccess, // 访问标志;
BOOL bInheritHandle, // 继承标志;
DWORD dwProcessId // 进程ID;
);
---- 当然,用完别忘了用 CloseHandle 关闭打开的句柄。 读另一个进程的内存 dwDesiredAccess 须指定为 PROCESS_VM_READ , 写另一个进程的内存 dwDesiredAccess 须指定为 PROCESS_VM_WRITE , 继承标志无所谓,进程ID可由 Process32First 和 Process32Next 得到, 这两个函数可以枚举出所有开启的进程,这样进程的信息也就得到了。