VC++ 获取64位游戏进程模块基址

时间:2024-10-12 13:05:19

1、首先我们需要几行简单的代码获取游戏进程权限

VC++ 获取64位游戏进程模块基址

2、利用EnumerateLoadedModules64()函数来枚举指定进程加载的所有module,EnumerateLoadedModules64(hProcess,(PENUMLOADED_MODULES_CALLBACK64)MyEnumerateLoadedModulesProc64,(PVOID)pVer); 第一个参数是进程句柄,第二参数是回调函数,第三个参数是回调使用的上下文,pvoid类型的.第二个参数要强制转换为(PENUMLOADED_MODULES_CALLBACK64),不然会报错.

3、编写回调函数MyEnumerateLoadedModulesProc64(),蜣贺鱿柢代码如下:BOOL CALLBACK MyEnumerateLoadedModulesPr泠贾高框oc64(PTSTR ModuleName,DWORD64 ModuleBase,ULONG ModuleSize,PVOID UserContext){// 加入你的判断代码 得到游戏进程基址//例如 if(ModuleName==你的游戏进程名) { Base_游戏基址=ModuleBase //return False};return True;}这里的返回值为真,将会一直调用这个函数,直到枚举完所有模块. 返回值为假将会停止调用.无需添加循环判断,非常好用. 注意:Base_游戏基址要使用全局变量.

© 手抄报圈