L o a d i n g . . .
主打一个C++
文章详情

C++通过进程pid获取指定模块地址与大小

Posted on 2016-02-29 10:05:01 by 主打一个C++

//取模块句柄/自身8664位程序通用
LONGLONG GetModuleBaseAddress(DWORD pid, const wchar_t* modName, DWORD* _modSize = nullptr)
{
	uintptr_t modBaseAddr = 0;
	HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, pid);
	if (hSnap != INVALID_HANDLE_VALUE)
	{
		MODULEENTRY32 modEntry;
		modEntry.dwSize = sizeof(modEntry);
		if (Module32First(hSnap, &modEntry))
		{
			do
			{
				if (!_wcsicmp(modEntry.szModule, modName))
				{
					if (_modSize)
						*_modSize = modEntry.modBaseSize;
					modBaseAddr = (LONGLONG)modEntry.modBaseAddr;
					break;
				}
			} while (Module32Next(hSnap, &modEntry));
		}
	}
	CloseHandle(hSnap);
	return modBaseAddr;
}


*转载请注明出处:原文链接:https://cpp.vin/page/74.html

作者近期文章
  • 随手笔记
  • 主打一个C++   2025-01-11 20:02:01
  • 都2000000025年了。还有不能随意访问guthub的,仔细看。在国内其实是可以正常访问的,gfw并没屏蔽。这里给出其中一个简单直接的方法稳定访问。1. 随便百度一个”dn
提示
×
确定
数据库执行: 7次 总耗时: 0.01s
页面加载耗时: 



wechat +447752296473
wechat cpp-blog