Bootstrap

HideProcess(隐藏进程) Ring0 win7 x86

    我们可以通过遍历EProcess结构体中的双向链表ActiveProcessLinks,找到目标进程结点后将该节点从双向链表中移除,便实现了进程隐藏的目的,此时打开win7的任务管理器会发现运行的calc进程并没有显示。

使用windbg查看EProcess结构:
    2: kd> !process 0 0
    //crtl+F查找explorer
    PROCESS 892b9d40  SessionId: 1  Cid: 09e8    Peb: 7ffdd000  ParentCid: 09b8
    DirBase: 7e2f4480  ObjectTable: 983c85a0  HandleCount: 622.
    Image: explorer.exe

    2: kd> dt _eprocess 892b9d40
    nt!_EPROCESS
    +0x000 Pcb              : _KPROCESS
    +0x098 ProcessLock      : _EX_PUSH_LOCK
    +0x0a0 CreateTime       : _LARGE_INTEGER 0x01d3b06d`2b360a55
    +0x0a8 ExitTime         : _LARGE_INTEGER 0x0
    +0x0b0 RundownProtect   : _EX_RUNDOWN_REF
    +0x0b4 UniqueProcessId  : 0x000009e8 Void
    +0x0b8 ActiveProcessLinks : _LIST_ENTRY [ 0x893060e8 - 0x892b62a8 ]

    2: kd> dt _LIST_ENTRY
    nt!_LIST_ENTRY
 

;