首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求VC导出内存所有数据的源码!解决方法

2012-05-01 
求VC导出内存所有数据的源码!!自己琢磨了很久,也在网上找了很多资料,一直没有找到可以导出内存数据的方法!

求VC导出内存所有数据的源码!!
自己琢磨了很久,也在网上找了很多资料,一直没有找到可以导出内存数据的方法!
哪位大侠有相关源码不?或者相关资料也可以,谢谢!!不慎感激…

[解决办法]

C/C++ code
首先搜索坐标地址           找到改变这个地址的代码           修改代码让他跳到自己的代码中运行           在程序的空白段加入自己的代码,当然要补上被替换了的那句,还有修改了寄存器,必须先PUSH,再POP------------------------------------------           CProcess m_process; bool m_ret=m_process.FindProcess("FortressII"); if (m_ret) {  BYTE tank1xL = m_process.ReadByte(0x00470000);  BYTE tank1xR = m_process.ReadByte(0x00470001);  WORD tank1x = tank1xL+tank1xR*256;  temp = tank1x;  str.Format("%d",temp);  m_tank1x=str;                     UpdateData(FALSE);  return TRUE; } else return FALSE;-----------------------------------------HANDLE CProcess::OpenProcess(char *p_ClassName, char *p_WindowTitle){HWND hWindow;DWORD pid;hWindow = FindWindow(p_ClassName, p_WindowTitle);if (hWindow) {GetWindowThreadProcessId(hWindow, &pid);return ::OpenProcess(PROCESS_ALL_ACCESS, false, pid);}return NULL;}bool CProcess::FindProcess(char *p_WindowTitle){if (m_hProcess == NULL) {m_hProcess = this->OpenProcess(NULL, p_WindowTitle);if (m_hProcess)m_bGameRunning = true;return m_bGameRunning;}elsereturn false;}BYTE CProcess::ReadByte(DWORD p_Address){DWORD bytes;BYTE tmpValue;if (m_bGameRunning) {if (ReadProcessMemory(m_hProcess, (void*)p_Address,(void *)&tmpValue, 1, &bytes) == 0)return 0;elsereturn tmpValue;}return 0;}
[解决办法]
ReadProcessMemory
[解决办法]
MSDN98中的例子walker又名pwalk。完整列出指定进程的内存使用情况,显示进程地址空间内容,装载哪些DLL,代码、数据、堆栈段分配在何处,可以用来检测内存泄漏,监测内存使用。 
http://download.csdn.net/detail/zhao4zhong1/3667896

热点排行