读书人

GetMemory 获得内存数据有关问题

发布时间: 2012-01-22 22:38:43 作者: rapoo

GetMemory 获得内存数据问题
int GetMemory(DWORD pid, int add)
{
LPCVOID address = (LPCVOID) add; //虚拟地址
HANDLE handle; //句柄
LPVOID data = malloc(4); //获得的虚拟地址数据
handle = OpenProcess(PROCESS_ALL_ACCESS, 0, pid);
if(!ReadProcessMemory(handle, address, data, 4, 0)){
printf("ReadProcessMemory Error!\n");
}
CloseHandle(handle);
return (int)temp;
}

这个函数是获得内存虚拟地址数据的,但是不清楚为什么一直出问题.请朋友帮我解决下,谢谢了.

[解决办法]
与add的值有关,如果add的值不在进程的地址范围内就会出错。还有一点,OpenProcess有失败的时候。

读书人网 >VC/MFC

热点推荐