windows SDK/MFC读写目标进程的内存
2009-12-09 15:20
435 查看
DWORD BaseAddr = 0x420094;//操作地址 HWND hGame; DWORD dwProcessID = 0;//获取线程ID HANDLE PID;//操作线程的句柄 void Cmfc3Dlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 //MessageBox(TEXT("a")); CString strItem; DWORD d1=0,d2=0; WCHAR name[128]; int max; char* result = (char*)::calloc(2,2); hGame = ::FindWindow(_T("#32770"),"mfc2"); //打开管理器的窗口 if(hGame){ ::GetWindowThreadProcessId(hGame,&dwProcessID);//获取线程ID PID=::OpenProcess(PROCESS_ALL_ACCESS,NULL,dwProcessID);//操作线程的句柄 ReadProcessMemory(PID, (LPCVOID)BaseAddr, &d1, 4, 0);//读取内存 ::itoa(d1,result,10); ::TRACE("2222222"); SetDlgItemTextA(IDC_STATIC1,result); SetDlgItemTextA(IDC_EDIT1,result); //::CloseHandle(PID); }else{ MessageBox("windows not found"); } /// traceAppMsg("sdf"); } void Cmfc3Dlg::OnBnClickedUpdate() { int strLen = ::GetWindowTextLength(::GetDlgItem(m_hWnd,IDC_EDIT1)); char* str = (char*)GlobalAlloc(GPTR, strLen + 1); DWORD d1 = 0; GetDlgItemTextA(IDC_EDIT1,str,strLen+1); //MessageBox(str); d1 = ::_atoi64(str); if(WriteProcessMemory(PID,(LPVOID)BaseAddr,&d1,4,0)){ //MessageBox("success"); }else{ LPVOID lpMsgBuf; if(FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL,GetLastError(),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR) &lpMsgBuf,0,NULL)) //strShow.Format("GetLastError()=%s/r/n",lpMsgBuf); //ShowMessage(strShow); //ShowMessage("数据写入失败/r/n"); MessageBox((char*)lpMsgBuf); } SYSTEMTIME time; ::GetSystemTime(&time); CTime t = CTime::GetCurrentTime(); CString t2 = t.Format("%Y-%m-%d %H:%M:%S"); //t2.Format( char* axx = t2.GetBuffer(); //MessageBox(axx); testList1.AddString(axx); // TODO: 在此添加控件通知处理程序代码 std::string sss = "sdf"; }
相关文章推荐
- 进程通信(用户自定义消息,用户注册消息,windows剪贴板,WM_COPY, 内存映射,对目标进程的内存)
- 进程通信(用户自定义消息,用户注册消息,windows剪贴板,WM_COPY, 内存映射,对目标进程的内存)
- Windows进程通信之进程内存读写
- (转)进程通信(用户自定义消息,用户注册消息,windows剪贴板,WM_COPY, 内存映射,对目标进程的内存)
- 全面介绍Windows内存管理机制及C++内存分配实例(一):进程空间
- 文件内存映射mmap解决大文件快速读写问题和进程间共享内存
- 全面介绍Windows内存管理机制及C++内存分配实例(一):进程空间
- Windows中进程的内存结构
- windows 获取系统CPU和进程CPU 内存等信息
- Windows中进程的内存结构
- 一个windows下取进程内存的代码
- Delphi 读写其他进程内存
- 什么是游戏NP?如何在NP下读写游戏内存及如何进入NP进程
- 什么是游戏NP?如何在NP下读写游戏内存及如何进入NP进程
- windows进程中的内存结构http://blog.chinaunix.net/u2/66119/showart_548336.html
- Linux内存计数详解(读写文件时的缓存机制与windows不同,以致于读写大文件时cached值非常大且居高不下)
- 注入的so在目标进程的内存空间中没有找到
- windows编程点滴(三)之Windows一个进程读取另一个进程的内存
- windows系统状态(磁盘大小、内存、进程、cpu使用率、网络连接)
- windows 32位系统中进程最大可用内存空间为3GB (转)