如题:
已知内存首地址pBeginAddr如下:
LPVOID pBeginAddr=lpSystemInfo.lpMinimumApplicationAddress;
现在需要取出以该地址为基地址,i为偏移地址的内存中的值,与一DWORD类型变量进行比较,应怎么办?
如下的代码应怎样改正?请大师指点LPVOID pBeginAddr=lpSystemInfo.lpMinimumApplicationAddress;
DWORD dVar;
for(int i=0;i<4096;i++)
{ if((DWORD)(((DWORD)pBeginAddr+i))==dVar) { cout<<"找到变量"<<endl;
}
}
已知内存首地址pBeginAddr如下:
LPVOID pBeginAddr=lpSystemInfo.lpMinimumApplicationAddress;
现在需要取出以该地址为基地址,i为偏移地址的内存中的值,与一DWORD类型变量进行比较,应怎么办?
如下的代码应怎样改正?请大师指点LPVOID pBeginAddr=lpSystemInfo.lpMinimumApplicationAddress;
DWORD dVar;
for(int i=0;i<4096;i++)
{ if((DWORD)(((DWORD)pBeginAddr+i))==dVar) { cout<<"找到变量"<<endl;
}
}
解决方案 »
- 问下哪位高手知道怎么用代码将obj生成asm
- vs2008字体问题
- 我有一堆 大小不一的bmp图片,想把它加入CImageList中,怎么弄?
- 在VIEW类中调用CTREECTRL类的方法,运行时出错,帮帮我啊
- 怎么让CCoolBar刚弹出来就是悬浮的??
- 请教(回帖给高分!!!!)
- 如何画一个复杂图形 比如说"心"形等图形
- 那位用installshield在uninstall时调用过动态库,请帮帮小弟。
- MFC中如何利用工具栏上的图标画图?比如点击圆拖到窗口中就可以显示这样的
- 存放在VirtualAllocEx分配的空间中的代码,执行出错
- 请教把16进制数的TXT文件,转换成2进制数文件。用什么做好做?
- hp的snmp++中的例子receive_trap.cpp编译运行为何不能接收到trap.trap_port为什么设为10162?
if (*((DWORD*)(pGeginAddr + i)) == dVar)
...
DWORD dVar;
for(int i=0;i<4096;i++)
{ if((DWORD)(*((BYTE*)pBeginAddr+i))==dVar) {cout<<"找到变量"<<endl;
}
}
LPVOID pBeginAddr=lpSystemInfo.lpMinimumApplicationAddress;
DWORD dVar;
for(int i=0;i<4093;i++) // 因为DWORD类型占4byte,而内存中页多数为4096byte对齐,
// 当i=4092时就已经访问完从pBeginAddr开始的4096字节了。
{ if(*PDWORD(PBYTE(pBeginAddr) + i) == dVar) {cout<<"找到变量"<<endl;
}
}