实现原理:修改war3内存地址当中的值,具体哪个地址,可以通过Cheat Engine来查找, 查找方法不再仔细说了 直接讲vc修改内存编码: CWnd* hWndWAR3 = FindWindow("Warcraft III", "Warcraft III"); if(hWndWAR3 != NULL){ HANDLE hToken; if ( OpenProcessToken( ::GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken) ) { if (EnablePrivilege(hToken,SE_DEBUG_NAME)) { DWORD pId; GetWindowThreadProcessId(hWndWAR3->m_hWnd,&pId); HANDLE hOpen = OpenProcess(PROCESS_ALL_ACCESS, 0, pId); if(hOpen != NULL){ BYTE v = 0x66; int lRet = WriteProcessMemory(hOpen, LPVOID(0x6F2A08B1), &v, 1, 0); v = 0xBF; lRet = WriteProcessMemory(hOpen, LPVOID(0x6F2A08B2), &v, 1, NULL); v = 0xF; lRet = WriteProcessMemory(hOpen, LPVOID(0x6F2A08B3), &v, 1, NULL); v = 0x0; lRet = WriteProcessMemory(hOpen, LPVOID(0x6F2A08B4), &v, 1, NULL); lRet = WriteProcessMemory(hOpen, LPVOID(0x6f406b56), &v, 1, NULL); //::AfxMessageBox("successfully!"); }else{ ::AfxMessageBox("open process failed!"); } } } }else{ ::AfxMessageBox("cannt found war3"); } 以上代码可实现显示敌对单位以及去迷雾功能! 交流qq:1265877