注册 登录
编程论坛 VC++/MFC

为什么这段代码只能读,不能写?

xishui777 发布于 2011-12-08 18:59, 581 次点击
    //植物大战僵尸阳光基址 006A9EC0
    //一级偏移  768   二级偏移 5560   [[0x006A9EC0]+0x768]+0x5560
    LPCVOID base=(LPCVOID)0x006A9EC0;
    DWORD ID;
    HANDLE  m_hwnd;
    DWORD s;
    CString m_str;
    hwnd=::FindWindow(NULL,"植物大战僵尸中文版");
    ::GetWindowThreadProcessId(hwnd,&ID);
    m_hwnd=::OpenProcess(PROCESS_ALL_ACCESS | PROCESS_VM_WRITE | PROCESS_VM_OPERATION ,FALSE,ID);
    ::ReadProcessMemory(m_hwnd,base,(LPVOID)&m_m,4,&s);
    ::ReadProcessMemory(m_hwnd,(LPCVOID)(m_m+0x768),(LPVOID)&m_m,4,&s);
    ::ReadProcessMemory(m_hwnd,(LPCVOID)(m_m+0x5560),(LPVOID)&m_m,4,&s);
    //UpdateData(false);
    //LPVOID pbase=(LPVOID)&m_m;

    GetDlgItemText(IDC_EDIT1,m_str);
    int buf=atoi(m_str);
    ::WriteProcessMemory(m_hwnd,(LPVOID)m_m,&buf,4,&s);
    UpdateData(true);
    CloseHandle(m_hwnd);  
2 回复
#2
hahayezhe2011-12-09 10:03
你要改变该段内存的属性 才可以写的
VirtualQuery 之类以及 Ex扩展的 等函数
#3
xishui7772011-12-09 21:46
具体怎么修改呀?能详细点吗?
1