检测进程的虚拟地址空间//检测进程的虚拟地址空间
#include
#include
#include
#include
#pragma comment(lib, "Shlwapi.lib")
//以可读方式对用户显示保护的辅助方法
//保护标记表示允许应用程序对内存进行访问的类型
//以及操作系统强制访问的类型
inline bool TestSet(DWORD dwTarget, DWORD dwMask)
{
return((dwTarget & dwMask)==dwMask);
}
#define SHOWMASK(dwT...
//检测进程的虚拟地址空间
#include
#include
#include
#include
#pragma comment(lib, "Shlwapi.lib")
//以可读方式对用户显示保护的辅助方法
//保护标记表示允许应用程序对内存进行访问的类型
//以及操作系统强制访问的类型
inline bool TestSet(D dwTarget, DWORD dwMask)
{
return((dwTarget & dwMask)==dwMask);
}
#define SHOWMASK(dwTarget, type)
void ShowProtection(DWORD dwTarget)
{
SHOWMASK (dwTarget, READONLY);
SHOWMASK (dwTarget, GUARD);
SHOWMASK (dwTarget, NOCACHE);
SHOWMASK(dwTarget, READWRITE);
SHOWMASK(dwTarget, WRITECOPY);
SHOWMASK(dwTarget, EXECUTE);
SHOWMASK(dwTarget, EXECUTE_READ);
SHOWMASK(dwTarget, EXECUTE_READWRITE);
SHOWMASK(dwTarget, EXECUTE_WRITECOPY);
SHOWMASK(DWTarget, NOACCESS);
}
//遍历整个虚拟内存并对用户显示其属性的工作程序的方法
void WalkVM(HANDLE hProcess)
{
//首先,获得系统信息
SYSTEM_INFO si;
::ZeroMemory(&si, sizeof(si));
::GetSystemInfo(&si);
//分配要存放信息的缓冲区
MEMORY_BASIC_INFORMATION mbi;
::ZeroMemory(&mbi, sizeof(mbi));
//循环整个应用程序地址空间
LPCVOID pBlock=(LPVOID)si.lpMinimumApplicationAddress;
while(pBlock0)//实际使用的缓冲区大小
{
//除去路径并显示
::PathStripPath(szFilename);
cout<<", Module:"<
本文档为【检测进程的虚拟地址空间】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。