Posted on 2010-02-02 22:39
S.l.e!ep.¢% 阅读(308)
评论(0) 编辑 收藏 引用 所属分类:
RootKit
#include <windows.h>
#include <iostream.h>
#include <tlhelp32.h>
int main(int argc, char* argv[])
{
MODULEENTRY32 pe32;
// 在使用这个结构之前,先设置它的大小
pe32.dwSize = sizeof(pe32);
// 给进程内所有模块拍一个快照
//276为某进程的ID
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 276);
if(hProcessSnap == INVALID_HANDLE_VALUE)
{
//建立快照失败
return -1;
}
// 遍历进程快照,轮流显示每个进程的信息
BOOL bMore = Module32First(hProcessSnap, &pe32);
while(bMore)
{
cout<<"模块名:"<<pe32.szModule<<endl;
cout<<"模块路:"<<pe32.szExePath<<endl;
bMore = Module32Next(hProcessSnap, &pe32);
}
// 不要忘记清除掉snapshot对象
CloseHandle(hProcessSnap);
return 0;
}