• RING3级下枚举用户进程的基本姿势


    简述

    Ring3用户态下查看进程信息的基本方法

    代码样例

    #include <cstdio>
    #include <iostream>
    #include <cstdlib>
    #include <tchar.h>
    #include <Windows.h>
    #include <TlHelp32.h> //Windows.h头文件必须包含在TlHelp32.h之前
    
    using namespace std;
    
    int main(void)
    {
        LPTSTR buff = new TCHAR[1024];
        PROCESSENTRY32 pe32; //进程信息结构体
        memset(buff,0x00,1024);
        HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //获取进程快照
        if(hProcessSnap==INVALID_HANDLE_VALUE)
        {
            cout<<"SnapShot Create Error"<<endl;
            return 0;
        }
        pe32.dwSize = sizeof(pe32);
        BOOL bProcess = Process32First(hProcessSnap,&pe32); //获取第一个进程
        printf(" ID              FileName
    ");
        printf("-----            --------
    ");
        while (bProcess)
        {
            wsprintf(buff,_TEXT("%d            %s"),pe32.th32ProcessID,pe32.szExeFile);
            wcout<<buff<<endl;
            memset(buff,0x00,1024*sizeof(TCHAR));
            bProcess = Process32Next(hProcessSnap,&pe32); //在调用Process32First函数后继续调用下一个进程
        }
        system("pause");
        return 0;
    }
  • 相关阅读:
    DOM官方文档学习总结
    python安装BeautifulSoup库解析HTML页面
    操作datatable数据
    aod.net连接字符串大全
    jqery对于select的操作
    希尔排序算法
    冒泡排序算法
    归并排序(分治法)
    随机函数
    【题解】LibreOJ #6279. 数列分块入门 3
  • 原文地址:https://www.cnblogs.com/csnd/p/12897031.html
Copyright © 2020-2023  润新知