首页
社区
课程
招聘
未解决 [求助]在XP下给_EPROCESS 短链为什么会蓝屏呢
发表于: 2021-1-22 01:57 1860

未解决 [求助]在XP下给_EPROCESS 短链为什么会蓝屏呢

2021-1-22 01:57
1860

自己通过PID给_EPROCESS结构体链表进行断链,也成功了,通过windbg查看内存也没问题,但是为什么在windbg里面进行!process 0 0命令后 ,在启动任务管理器就会蓝屏,
代码如下。求大神解答,同时能推荐下怎么学习吗?自己学实在找不到方向

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
BOOL HideProcess(DWORD Pid)
{
 
    DWORD kpcr;
    DWORD CurPro;
    DWORD BefPro;
    DWORD NextPro;
 
    //获取当前KPCR
    __asm
    {
        mov eax,dword ptr fs:[0x1c]
        mov kpcr, eax
    }
 
    CurPro = *(PDWORD)((*(PDWORD)(kpcr + 0x124)) + 0x220);
 
    DWORD dwflag = 0;
    dwflag = CurPro;
    while (TRUE)
    {
        NextPro = *(PDWORD)(CurPro + 0x88) - 0x88;        //获取下一个_EPROCESS结构体位置
        BefPro = *(PDWORD)(CurPro + 0x8C) - 0x88;        //获取前一个_EPROCESS结构体位置
        if (*(PDWORD)(CurPro + 0x84) == Pid)
        {
            __asm
            {
                int 3
            }
            PDWORD Temp = 0;
            Temp = (PDWORD)(BefPro + 0x88);
            *Temp = NextPro + 0x88;
            Temp = (PDWORD)(NextPro + 0x8c);
            *Temp = BefPro + 0x88;
            DbgPrint("Pid: %d隐藏成功\n", Pid);
            return TRUE;
        }
        CurPro = NextPro;
        if (CurPro == dwflag)
        {
            DbgPrint("Pid: %d隐藏失败\n", Pid);
            return FALSE;
        }
    }
}

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

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//