你是否正在寻找关于writeprocessmemory的内容?让我把最宝贵的东西奉献给你:
以PROCESS_ALL_ACCESS权限打开进程以后既能够使用ReadProcessMemory读取程序内存,也能够使用writeprocessmemory改敲代码的内存,这也是一些内存补丁使用的招数,下面是程序的实现代码
#include <windows.h> #include <tlhelp32.h> BOOL CALLBACK EnumChildWindowProc(HWND hWnd,LPARAM lParam);//枚举记事本中的子窗体 char mess[999999]; int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) { HWND nphWnd=::FindWindow("notepad",NULL); if(nphWnd) { char temp[1024]; PROCESSENTRY32 pe32; pe32.dwSize=sizeof(pe32); HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//获得进程列表的快照,第一个參数能够有其它选项,具体请參考MSDN if(hProcessSnap==INVALID_HANDLE_VALUE) { ::MessageBox(NULL,"CreateToolhelp32Snapshot error","error",MB_OK); return 0; } HANDLE hProcess; BOOL bMore=::Process32First(hProcessSnap,&pe32);//获得第一个进程的信息 while(bMore) { ::wsprintf(temp,"%s",pe32.szExeFile); if(!::strcmp(temp,"button.exe")) { hProcess=::OpenProcess(PROCESS_ALL_ACCESS,false,(DWORD)pe32.th32ProcessID); if(hProcess==NULL) { ::wsprintf(temp,"%s","打开进程失败!"); ::strcat(mess,temp); } else { ::wsprintf(temp,"%s","打开进程成功!"); ::strcat(mess,temp); //改写内存中内容 int tmp=97;//ascii:a DWORD dwNumberOfBytesRead; if(!::writeprocessmemory(hProcess,(LPVOID)0x0040505d,&tmp,1,&dwNumberOfBytesRead)) { ::wsprintf(temp,"%s","写入失败"); ::strcat(mess,temp); } else { ::wsprintf(temp,"%s","写入成功"); ::strcat(mess,temp); } } break; } bMore=::Process32Next(hProcessSnap,&pe32);//获得其它进程信息 } ::EnumChildWindows(nphWnd,EnumChildWindowProc,0);//获得记事本的edit窗体,打印进程信息 return 0; } else { ::MessageBox(NULL,"please open notepad","error",MB_OK); return 0; } } BOOL CALLBACK EnumChildWindowProc(HWND hWnd,LPARAM lParam) { char temp1[256]; if(hWnd) { ::GetClassName(hWnd,temp1,255); if(!::strcmp(temp1,"Edit"))//得到edit子窗体句柄 { ::SendMessage(hWnd,WM_SETTEXT,0,(LPARAM)mess); return 0; } } return true; }程序的功能是改写名为button.exe程序中内存地址为0x0040505d的值为97,即ASCII值的a,此处内存的原内容为ASCII值的m
被改动的程序实现代码例如以下:
#include <windows.h> #include以上就是关于writeprocessmemory的全部内容,相信你一定会非常满意,。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shenmilingyu/article-5202-1.html
而且还是我家的路
发廊妹等国家严禁的行为
你们退休金还有1900元
试探