首页
社区
课程
招聘
6
[旧帖] [原创]发一个超精简版枚举进程代码。 0.00雪花
发表于: 2012-5-28 13:52 2433

[旧帖] [原创]发一个超精简版枚举进程代码。 0.00雪花

2012-5-28 13:52
2433

通过进程句柄表枚举进程。WinXP SP3测试通过。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#define HANDLE_TBL_OFF      0x0C4
#define IMAGE_NAME_OFF      0x174
#define HTBL_FLINK_OFF      0x01C
#define PID_OFF                0x084
#define HTBL_EPROC_OFF      0x004
 
VOID ListProcess()
{
    ULONG   currEPROC;
    ULONG   currHandleTbl;
 
    currEPROC = (ULONG)PsGetCurrentProcess();
    currHandleTbl = *(PULONG)(currEPROC + HANDLE_TBL_OFF);
    while ( TRUE ){
        //打印进程
        DbgPrint( "PID:%4d    ImageName:%s\r\n", *(PULONG)(currEPROC+PID_OFF), (PVOID)(currEPROC+IMAGE_NAME_OFF) );
        //下一个进程
        currHandleTbl = *(PULONG)(currHandleTbl + HTBL_FLINK_OFF) - HTBL_FLINK_OFF;
        currEPROC = *(PULONG)(currHandleTbl + HTBL_EPROC_OFF);
        //回到起始处则结束
        if ( !currEPROC )
            break;
    }
}

[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

上传的附件:
  • 1.jpg (75.16kb,68次下载)
收藏
免费 6
支持
分享
赞赏记录
参与人
雪币
留言
时间
伟叔叔
为你点赞~
2024-5-31 04:55
心游尘世外
为你点赞~
2024-5-31 01:40
QinBeast
为你点赞~
2024-5-31 01:30
飘零丶
为你点赞~
2024-3-28 03:10
shinratensei
为你点赞~
2024-1-30 00:33
PLEBFE
为你点赞~
2023-3-7 00:43
最新回复 (4)
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
唉,看过无数人获取进程名都是 + 0x174 这种硬编码,
你们咋就不用 PsGetProcessImageFileName 这个 API 呢
2012-5-28 16:44
0
雪    币: 1898
活跃值: (1880)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
估计很多人看到既然枚举进程链已经是硬编码了,突然冒出个API不美观,所以继续硬编码保持队形吧。。。
2012-5-28 17:16
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你以为加个宏我就看不出是硬编码了么
2012-5-28 19:16
0
雪    币: 44
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我什么时候说过不是硬编码了?
2012-5-28 20:04
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册