首页
社区
课程
招聘
[求助]当要hook指定的进程的时候 如何监视该进程何时启动?
发表于: 2009-2-18 05:44 5574

[求助]当要hook指定的进程的时候 如何监视该进程何时启动?

2009-2-18 05:44
5574
当要hook指定的进程的时候 如何监视该进程何时启动?

如果使用while一直CreateToolhelp32Snapshot遍历, 会不会造成cpu 100%?

#include "StdAfx.h"
  #include "windows.h"
  #include "tlhelp32.h"
  #include "stdio.h"
  int main(int argc, char* argv[])
  {
  PROCESSENTRY32 pe32;
  //在使用这个结构前,先设置它的大小
  pe32.dwSize = sizeof(pe32);
  //给系统内所有的进程拍个快照
  HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  if (hProcessSnap == INVALID_HANDLE_VALUE)
  {
  printf("CreateToolhelp32Snapshot 调用失败.\n");
  return -1;
  }
  //遍历进程快照,轮流显示每个进程的信息
  BOOL bMore = ::Process32First(hProcessSnap,&pe32);
  while (bMore)
  {
  printf("进程名称:%s\n",pe32.szExeFile);
  printf("进程ID:%u\n\n",pe32.th32ProcessID);
  bMore = ::Process32Next(hProcessSnap,&pe32);
  }
  //不要忘记清除掉snapshot对象
  ::CloseHandle(hProcessSnap);
  return 0;
  }

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我用mfc 写的 测试是否运行记事本的 一运行 cpu马上百分百 有什么解决的办法么

void CPidDlg::OnButton_pid()
{
        CString pid;
        CString pidname="notepad.exe";
        // TODO: Add your control notification handler code here
        PROCESSENTRY32 pe32;
       
        //在使用这个结构前,先设置它的大小
        pe32.dwSize = sizeof(pe32);
//给系统内所有的进程拍个快照
        while(1)
        {
                HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
                if (hProcessSnap == INVALID_HANDLE_VALUE)
                {
                        printf("CreateToolhelp32Snapshot 调用失败.\n");
                        return  ;
                }
                //遍历进程快照,轮流显示每个进程的信息
                BOOL bMore = ::Process32First(hProcessSnap,&pe32);
                while (bMore)
                {
                        TRACE("进程名称:%s\n",pe32.szExeFile);
                        TRACE("进程ID:%u\n\n",pe32.th32ProcessID);
                       
                        pid=pe32.szExeFile;
                        if (pidname==pid)
                        {
                                AfxMessageBox(pid);
                        }
                        //
                        bMore = ::Process32Next(hProcessSnap,&pe32);
                }
                //不要忘记清除掉snapshot对象
                ::CloseHandle(hProcessSnap);
        }

        return  ;

}
2009-2-18 06:11
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
搞NtCreateProcesEx…
2009-2-18 07:45
0
雪    币: 202
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Sleep(1);
2009-2-18 08:18
0
游客
登录 | 注册 方可回帖
返回
//