VC读取本进程任意内存地址的值怎么读取,高人指点
展开全部
每个进程的虚拟地址空间都要划分成各个分区。地址空间的分区是根据操作系统的基本实现方法来进行的。不同的windows内核,其分区也略有不同。
你在用户级就只能访问用户级的地址
32位Windows 2000的用户地址空间范围是0 x 0 0 0 1 0 0 0 0 0 - x B F F E F F F F F
你定义一个指针指向这个范围的任意位置都是可以访问的。
C/C++ code
HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,GetCurrentProcessId());
LPVOID lpBaseAddress=(LPVOID)0x190BA;
DWORD dwValue;if(!::ReadProcessMemory(hProcess,lpBaseAddress,&dwValu¡
你在用户级就只能访问用户级的地址
32位Windows 2000的用户地址空间范围是0 x 0 0 0 1 0 0 0 0 0 - x B F F E F F F F F
你定义一个指针指向这个范围的任意位置都是可以访问的。
C/C++ code
HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,GetCurrentProcessId());
LPVOID lpBaseAddress=(LPVOID)0x190BA;
DWORD dwValue;if(!::ReadProcessMemory(hProcess,lpBaseAddress,&dwValu¡
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询