枚举进程(1)——遍历通过EPROCESS结构的ActiveProcessLinks链表

本文介绍了一种通过枚举EPROCESS结构的ActiveProcessLinks链表来获取Windows系统中进程信息的方法,详细阐述了根据系统版本获取结构偏移量的逻辑,并展示了遍历过程和部分输出结果。
摘要由CSDN通过智能技术生成
#define EPROCESS_SIZE		1
#define PEB_OFFSET			2
#define FILE_NAME_OFFSET		3
#define PROCESS_LINK_OFFSET		4
#define PROCESS_ID_OFFSET		5
#define EXIT_TIME_OFFSET		6

typedef ULONG	DWORD ;

typedef struct _PROCESS_INFO {
	DWORD	dwProcessId ;
	PUCHAR	pImageFileName ;
} PROCESS_INFO, *PPROCESS_INFO ;

DWORD GetPlantformDependentInfo ( DWORD dwFlag )
{ 
	DWORD current_build; 
	DWORD ans = 0; 

	PsGetVersion(NULL, NULL, ¤t_build, NULL); 

	switch ( dwFlag )
	{ 
	case EPROCESS_SIZE: 
		if (current_build == 2195) ans = 0 ;		// 2000,当前不支持2000,下同
		if (current_build == 2600) ans = 0x25C;		// xp
		if (current_build == 3790) ans = 0x270;		// 2003
		break; 
	case PEB_OFFSET: 
		if (current_build == 2195)	ans = 0; 
		if (current_build == 2600)	ans = 0x1b0; 
		if (current_build == 37
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值