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

 时间:2024-11-14 11:06:52

现在越来越多的游戏采用64位客户端进程,CreateToolhelp32Snapshot函数将不能正确获取游戏进程基址,我发现网上也没有一个正确的教程如何来获取64位游戏进程.

工具/原料

VC++

方法/步骤

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

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

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

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

如何设置昂达v80pius ami bios双系统 驱动精灵怎么打开驱动的保护功能呢? win11内核出现问题详细解决方法 遗迹灰烬重生怎么调整可视距离 盐与献祭双人联机方法
热门搜索
恶搞漫画无翼鸟 蜱虫狗图片 交通标志大全图片 无翼鸟邪恶漫画日本 懒羊羊图片