Getting base address of a process

前端 未结 1 1536
太阳男子
太阳男子 2020-12-17 03:29

I\'m trying to make a program that read the timer value from Minesweeper. (OS is windows 7 64bit)

Using cheat engine I found the base address of the variable, but it

相关标签:
1条回答
  • 2020-12-17 03:59
    #pragma comment( lib, "psapi" )
    
    DWORD GetModuleBase(HANDLE hProc, string &sModuleName) 
    { 
       HMODULE *hModules; 
       char szBuf[50]; 
       DWORD cModules; 
       DWORD dwBase = -1; 
       //------ 
    
       EnumProcessModules(hProc, hModules, 0, &cModules); 
       hModules = new HMODULE[cModules/sizeof(HMODULE)]; 
    
       if(EnumProcessModules(hProc, hModules, cModules/sizeof(HMODULE), &cModules)) { 
          for(int i = 0; i < cModules/sizeof(HMODULE); i++) { 
             if(GetModuleBaseName(hProc, hModules[i], szBuf, sizeof(szBuf))) { 
                if(sModuleName.compare(szBuf) == 0) { 
                   dwBase = (DWORD)hModules[i]; 
                   break; 
                } 
             } 
          } 
       } 
    
       delete[] hModules; 
    
       return dwBase; 
    }
    
    0 讨论(0)
提交回复
热议问题