• 1049阅读
  • 1回复

r0遍历系统进程方法总结 [复制链接]

上一主题 下一主题
离线啊冲
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-02-04



方法1: ZwQuerySystemInformation
这个方法网上一搜一大堆,不举例了
方法2:暴力枚举PID枚举进程,代码:


[cpp] view plain copy
  1. NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegStr)  
  2. {  
  3.   
  4.     pDriverObj->DriverUnload = MyUnload;  
  5.   
  6.     DbgPrint("DriverEntry...\n");  
  7.   
  8.     //1.暴力枚举PID,枚举进程  
  9.     for (ULONG i = 0; i < 65535; i += 4)  
  10.     {  
  11.         SearchProcessPID(i);  
  12.     }  
  13.     return STATUS_SUCCESS;  
  14. }  
  15. //暴力枚举PID,枚举进程  
  16. NTSTATUS SearchProcessPID(ULONG pid)  
  17. {  
  18.     NTSTATUS status = STATUS_SUCCESS;  
  19.     PEPROCESS process = NULL;  
  20.     PUCHAR processName;  
  21.     status = PsLookupProcessByProcessId((HANDLE)pid, &process);  
  22.     processName = ExAllocatePool(NonPagedPool, sizeof(process));  
  23.     if (NT_SUCCESS(status))  
  24.     {  
  25.         processName = PsGetProcessImageFileName(process);  
  26.         DbgPrint("PID:%d,processName:%s\n", pid, processName);  
  27.     }  
  28.       

方法3和方法1原理相同,枚举eprocess结构体的ActiveProcessLinks链表实现,代码如下



[cpp] view plain copy
  1. //通过EPROCESS枚举进程  
  2. NTSTATUS SearchProcessEPROCESS()  
  3. {  
  4.     PEPROCESS process=NULL,firstProcess=NULL;  
  5.     NTSTATUS status = STATUS_SUCCESS;  
  6.     PLIST_ENTRY plist;  
  7.     process = firstProcess = PsGetCurrentProcess();  
  8.     do  
  9.     {  
  10.         PUCHAR ProcessNmae = NULL;  
  11.         ProcessNmae = PsGetProcessImageFileName(process);  
  12.         DbgPrint("PID:%d,ProcessName:%s\n", (HANDLE)PsGetProcessId(process), ProcessNmae);  
  13.         plist = (PLIST_ENTRY)((ULONG)process + ACTIVE_PROCESS_LINK);  
  14.         process = (PEPROCESS)((ULONG)plist->Flink - ACTIVE_PROCESS_LINK);  
  15.         if (process == firstProcess)  
  16.         {  
  17.             break;  
  18.         }  
  19.     } while (process != NULL);  
  20.   
  21.     return status;  
  22. }  



善者 慈悲心常在 无怨无恨 以苦为乐
默认压缩密码www.hifyl.com
文件分享密码问题:http://www.hifyl.com/read-htm-tid-4444.html
离线v2680267313

只看该作者 沙发  发表于: 2016-04-30
用户被禁言,该主题自动屏蔽!
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个