当前位置:首页 >> 编程开发 >> Visual C++ >> 内容

xp下用户程序空间分配(3):加载文件

时间:2015/5/19 21:37:40 作者:平凡之路 来源:xuhantao.com 浏览:

一个程序要想执行,总是要加载到内存里面的,为此我们使用下面的代码查询所有模块的信息,再找 到它们在内存里面的对应位置:

HANDLE hProcess;
HMODULE   hModule[0x70];
TCHAR strFileName [MAX_PATH];
DWORD   cbNeeded;
MODULEINFO   modinfo;

hProcess = GetCurrentProcess();
if(EnumProcessModules(hProcess,   hModule,   sizeof(HMODULE) * 0x30,   &cbNeeded))
{
for(n = 0; n < cbNeeded / sizeof(HMODULE); n++)
{
GetModuleFileName(hModule[n], strFileName, MAX_PATH);
GetModuleInformation( hProcess, hModule[n], &modinfo, sizeof(MODULEINFO) );

// 根据lpBaseOfDll得到其它的数据
……………
}
}

于是就得到了下面的结果(数值均为十六进制):

咱先找几个有意思的看看。

相关文章
  • 没有相关文章
  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1