内存操作的几个函数
作者:互联网
在2K或XP中要想写入数据到进程中需要用VirtualProtectEx将需要修改的地址段设为:PAGE_READWRITE;然后再用WriteProcessMemory写入数据或用ReadProcessMemory读取数据;
函数的形参如下:
BOOL VirtualProtectEx(
HANDLE hProcess, // 要修改内存的进程句柄
LPVOID lpAddress, // 要修改内存的起始地址
DWORD dwSize, // 修改内存的字节
DWORD flNewProtect, // 修改后的内存属性
PDWORD lpflOldProtect // 修改前的内存属性的地址
)
BOOL WriteProcessMemory(
HANDLE hProcess, // 要写进程的句柄
LPVOID lpBaseAddress, // 写内存的起始地址
LPVOID lpBuffer, // 写入数据的地址
DWORD nSize, // 要写的字节数
LPDWORD lpNumberOfBytesWritten // 实际写入的子节数
)
BOOL ReadProcessMemory(
HANDLE hProcess, // 要读进程的句柄
LPCVOID lpBaseAddress, // 读内存的起始地址
LPVOID lpBuffer, // 读入数据的地址
DWORD nSize, // 要读入的字节数
LPDWORD lpNumberOfBytesRead // 实际读入的子节数
)
标签:函数,句柄,LPVOID,修改,地址,内存,操作,DWORD 来源: https://www.cnblogs.com/topcoder/p/14849919.html