进程模块枚举与隐藏

这附图是我见过关于利用PEB查看模块信息最准确的一幅。
技术分享

获取TEB

lkd> !teb
TEB at 7ffdd000
    ExceptionList:        00c2976c
    StackBase:            00c30000
    StackLimit:           00c23000
    SubSystemTib:         00000000
    FiberData:            00001e00
    ArbitraryUserPointer: 00000000
    Self:                 7ffdd000
    EnvironmentPointer:   00000000
    ClientId:             00000238 . 000003b8
    RpcHandle:            00000000
    Tls Storage:          00000000
    PEB Address:          7ffdf000      ***
    LastErrorValue:       0
    LastStatusValue:      c0000139
    Count Owned Locks:    0
    HardErrorMode:        0

查看PEB

lkd> dt _peb 7ffdf000
nt!_PEB
   +0x000 InheritedAddressSpace : 0 ‘‘
   +0x001 ReadImageFileExecOptions : 0 ‘‘
   +0x002 BeingDebugged    : 0 ‘‘
   +0x003 SpareBool        : 0 ‘‘
   +0x004 Mutant           : 0xffffffff Void
   +0x008 ImageBaseAddress : 0x01000000 Void
   +0x00c Ldr              : 0x00191e90 _PEB_LDR_DATA      ***
   +0x010 ProcessParameters : 0x00020000 _RTL_USER_PROCESS_PARAMETERS
   +0x014 SubSystemData    : (null) 
   +0x018 ProcessHeap      : 0x00090000 Void
   +0x01c FastPebLock      : 0x7c99d600 _RTL_CRITICAL_SECTION
   +0x020 FastPebLockRoutine : 0x7c921000 Void
   +0x024 FastPebUnlockRoutine : 0x7c9210e0 Void
   +0x028 EnvironmentUpdateCount : 1
   +0x02c KernelCallbackTable : 0x77d12970 Void
   +0x030 SystemReserved   : [1] 0
   +0x034 AtlThunkSListPtr32 : 0
   +0x038 FreeList         : (null) 
   +0x03c TlsExpansionCounter : 0
   +0x040 TlsBitmap        : 0x7c99d5c0 Void
   +0x044 TlsBitmapBits    : [2] 0x3ffffff

查看ldr(类似头结点)

lkd> dt _peb_ldr_data 191e90 -r1
nt!_PEB_LDR_DATA
   +0x000 Length           : 0x28
   +0x004 Initialized      : 0x1 ‘‘
   +0x008 SsHandle         : (null) 
   +0x00c InLoadOrderModuleList : _LIST_ENTRY [ 0x191ec0 - 0x194120 ]
      +0x000 Flink            : 0x00191ec0 _LIST_ENTRY [ 0x191f18 - 0x191e9c ]
      +0x004 Blink            : 0x00194120 _LIST_ENTRY [ 0x191e9c - 0x194030 ]
   +0x014 InMemoryOrderModuleList : _LIST_ENTRY [ 0x191ec8 - 0x194128 ]
      +0x000 Flink            : 0x00191ec8 _LIST_ENTRY [ 0x191f20 - 0x191ea4 ] ***
      +0x004 Blink            : 0x00194128 _LIST_ENTRY [ 0x191ea4 - 0x194038 ]
   +0x01c InInitializationOrderModuleList : _LIST_ENTRY [ 0x191f28 - 0x194130 ]
      +0x000 Flink            : 0x00191f28 _LIST_ENTRY [ 0x191fd0 - 0x191eac ]
      +0x004 Blink            : 0x00194130 _LIST_ENTRY [ 0x191eac - 0x194040 ]
   +0x024 EntryInProgress  : (null) 

查看模块结点

lkd> dt _ldr_data_table_entry 191ec8 -r1
nt!_LDR_DATA_TABLE_ENTRY
   +0x000 InLoadOrderLinks : _LIST_ENTRY [ 0x191f20 - 0x191ea4 ]
      +0x000 Flink            : 0x00191f20 _LIST_ENTRY [ 0x191fc8 - 0x191ec8 ]
      +0x004 Blink            : 0x00191ea4 _LIST_ENTRY [ 0x191ec8 - 0x194248 ]
   +0x008 InMemoryOrderLinks : _LIST_ENTRY [ 0x0 - 0x0 ]
      +0x000 Flink            : (null) 
      +0x004 Blink            : (null) 
   +0x010 InInitializationOrderLinks : _LIST_ENTRY [ 0x1000000 - 0x1058c77 ]
      +0x000 Flink            : 0x01000000 _LIST_ENTRY [ 0x905a4d - 0x3 ]
      +0x004 Blink            : 0x01058c77 _LIST_ENTRY [ 0x896e8 - 0xfdc3e900 ]
   +0x018 DllBase          : 0x00097000 Void
   +0x01c EntryPoint       : 0x007c007a Void
   +0x020 SizeOfImage      : 0x2060c
   +0x024 FullDllName      : _UNICODE_STRING "windbg.exe"
      +0x000 Length           : 0x14
      +0x002 MaximumLength    : 0x16
      +0x004 Buffer           : 0x00020672  "windbg.exe"
   +0x02c BaseDllName      : _UNICODE_STRING "--- memory read error at address 0x0000ffff ---"
      +0x000 Length           : 0x5000
      +0x002 MaximumLength    : 0
      +0x004 Buffer           : 0x0000ffff  "--- memory read error at address 0x0000ffff ---"
   +0x034 Flags            : 0x192fcc
   +0x038 LoadCount        : 0xb310
   +0x03a TlsIndex         : 0x7c99
   +0x03c HashLinks        : _LIST_ENTRY [ 0x4b6734c3 - 0x0 ]
      +0x000 Flink            : 0x4b6734c3 _LIST_ENTRY
      +0x004 Blink            : (null) 
   +0x03c SectionPointer   : 0x4b6734c3 Void
   +0x040 CheckSum         : 0
   +0x044 TimeDateStamp    : 0
   +0x044 LoadedImports    : (null) 
   +0x048 EntryPointActivationContext : 0x000b000b Void
   +0x04c PatchInformation : 0x00080158 Void

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。