ProcessView运行后,用户可在窗口查看当前在后台运行的所有程序。通过右键点击项目,小伙伴们就能实现dll注入、查看进程模块之类的操作。
查询进程模块源码
//遍历模块信息,添加到列表
void CMyModuleInfoDlg::GetModuleInfo()
{
//拍进程快照
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, m_ProcessId);
//获取快照失败,直接返回
if (INVALID_HANDLE_VALUE == hSnapshot)
{
return;
}
MODULEENTRY32 me32 = { 0 };
me32.dwSize = sizeof(MODULEENTRY32);
//遍历进程
if (Module32First(hSnapshot, &me32))
{
int nRow = 0;
CString strFmt;
do
{
//将模块路径加入列表
m_ListCtrl.InsertItem(nRow, me32.szExePath);
//将模块基地址加入列表
strFmt.Format(_T("0x%016X"), me32.modBaseAddr);
m_ListCtrl.SetItemText(nRow, 1, strFmt);
//将模块大小加入列表
strFmt.Format(_T("0x%016X"), me32.modBaseSize);
m_ListCtrl.SetItemText(nRow, 2, strFmt);
nRow++;
} while (Module32Next(hSnapshot, &me32));
}
//关闭句柄
CloseHandle(hSnapshot);
1、双击打开exe应用程序
2、软件可直接使用,无需安装
进程原理:
首先通过CreateToolhelp32Snapshot函数创建一个进程的快照,然后通过调用Process32First使用快照返回的句柄对进程进行遍历,相关的信息存放在PROCESSENTRY32结构类型的实例中,通过调用内部的一个函数GetProcessModule,获取对应的进程的模块名称,然后通过对进程地址空间信息的读取,从而获取相应的线程的ID等的信息。
ProcessView由网友个人编写,它的界面干净,没有任何广告弹窗。软件安全无毒,大家使用时无需担心。用户可以快速结束后台程序运行,或者查看它的线程ID信息。
上文就是小编为您带来的ProcessView了,更多精彩软件请多多关注IE浏览器中文网站!