ReadProcessMemory()疑问

来源:百度知道 编辑:UC知道 时间:2024/05/20 07:47:59
BOOL ReadProcessMemory(
HANDLE hProcess, // 目标进程句柄
LPCVOID lpBaseAddress, // 读取数据的起始地址
LPVOID lpBuffer, // 存放数据的缓存区地址
DWORD nSize, // 要读取的字节数
LPDWORD lpNumberOfBytesRead // 实际读取数存放地址
);

下面这个例子:
DWORD Base = 0x0091F664;
ReadProcessMemory(PID, (LPCVOID)Base, &Base, 4, 0);//这时的Base保存的是0x0091F664还是指向地址0x0091F664的内容
ReadProcessMemory(PID, (LPCVOID)(Base+0x28), &Base, 4, 0); //这时的Base和上一句的Base是不是同一个地址?

在DWORD Base = 0x0091F664; 这一行下个断点,按F5调试运行,程序停在这里时(有个黄色箭头),按F11,程序运行到下一行,这时把鼠标移到 Base 上就可以看到 Base 的值,看看是不是0x0091F664,也可以在下面的调试窗口中看到它的值。

曾志伟