在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 // 实际读入的子节数
)
相关文章
- 03-31操作系统下cache的几个概念
- 03-31ORA-30009: CONNECT BY 操作内存不足--XMLTable的使用
- 03-31在forEach回调函数中存在异步操作的处理
- 03-31C的文件操作函数
- 03-31python内置的几个高阶函数
- 03-31ES6操作数组的高级函数map()、filter()、reduce()
- 03-31[codeblocks下实现多个源文件2.0]类声明和成员函数定义的分离实战操作实现
- 03-31JS数据的追加和删除 函数关键词 以及BOM对象和DOM操作课堂随笔记录
- 03-31ALV调用的几个标准函数
- 03-31自己实现内存操作函数memset(),memcmp(),memcpy(),memmove()