Tesla.Angela 发表于 2012-2-20 16:23:13

杀进程这件小事

貌似刚入门玩驱动的人都喜欢先玩进程,哈哈,那我就给点提示:

lkd> dt_kthread
nt!_KTHREAD
   +0x000 Header         : _DISPATCHER_HEADER
   +0x010 MutantListHead   : _LIST_ENTRY
   +0x018 InitialStack   : Ptr32 Void
   +0x01c StackLimit       : Ptr32 Void
   +0x020 Teb            : Ptr32 Void
   +0x024 TlsArray         : Ptr32 Void
   +0x028 KernelStack      : Ptr32 Void
   +0x02c DebugActive      : UChar
   +0x02d State            : UChar
   +0x02e Alerted          : UChar
   +0x030 Iopl             : UChar
   +0x031 NpxState         : UChar
   +0x032 Saturation       : Char
   +0x033 Priority         : Char
   +0x034 ApcState         : _KAPC_STATE
   +0x04c ContextSwitches: Uint4B
   +0x050 IdleSwapBlock    : UChar
   +0x051 Spare0         : UChar
   +0x054 WaitStatus       : Int4B
   +0x058 WaitIrql         : UChar
   +0x059 WaitMode         : Char
   +0x05a WaitNext         : UChar
   +0x05b WaitReason       : UChar
   +0x05c WaitBlockList    : Ptr32 _KWAIT_BLOCK
   +0x060 WaitListEntry    : _LIST_ENTRY
   +0x060 SwapListEntry    : _SINGLE_LIST_ENTRY
   +0x068 WaitTime         : Uint4B
   +0x06c BasePriority   : Char
   +0x06d DecrementCount   : UChar
   +0x06e PriorityDecrement : Char
   +0x06f Quantum          : Char
   +0x070 WaitBlock      : _KWAIT_BLOCK
   +0x0d0 LegoData         : Ptr32 Void
   +0x0d4 KernelApcDisable : Uint4B
   +0x0d8 UserAffinity   : Uint4B
   +0x0dc SystemAffinityActive : UChar
   +0x0dd PowerState       : UChar
   +0x0de NpxIrql          : UChar
   +0x0df InitialNode      : UChar
   +0x0e0 ServiceTable   : Ptr32 Void
   +0x0e4 Queue            : Ptr32 _KQUEUE
   +0x0e8 ApcQueueLock   : Uint4B
   +0x0f0 Timer            : _KTIMER
   +0x118 QueueListEntry   : _LIST_ENTRY
   +0x120 SoftAffinity   : Uint4B
   +0x124 Affinity         : Uint4B
   +0x128 Preempted      : UChar
   +0x129 ProcessReadyQueue : UChar
   +0x12a KernelStackResident : UChar
   +0x12b NextProcessor    : UChar
   +0x12c CallbackStack    : Ptr32 Void
   +0x130 Win32Thread      : Ptr32 Void
   +0x134 TrapFrame      : Ptr32 _KTRAP_FRAME
   +0x138 ApcStatePointer: Ptr32 _KAPC_STATE
   +0x140 PreviousMode   : Char
   +0x141 EnableStackSwap: UChar
   +0x142 LargeStack       : UChar
   +0x143 ResourceIndex    : UChar
   +0x144 KernelTime       : Uint4B
   +0x148 UserTime         : Uint4B
   +0x14c SavedApcState    : _KAPC_STATE
   +0x164 Alertable      : UChar
   +0x165 ApcStateIndex    : UChar
   +0x166 ApcQueueable   : UChar
   +0x167 AutoAlignment    : UChar
   +0x168 StackBase      : Ptr32 Void
   +0x16c SuspendApc       : _KAPC
   +0x19c SuspendSemaphore : _KSEMAPHORE
   +0x1b0 ThreadListEntry: _LIST_ENTRY
   +0x1b8 FreezeCount      : Char
   +0x1b9 SuspendCount   : Char
   +0x1ba IdealProcessor   : UChar
   +0x1bb DisableBoost   : UChar
lkd> dt_KTRAP_FRAME
nt!_KTRAP_FRAME
   +0x000 DbgEbp         : Uint4B
   +0x004 DbgEip         : Uint4B
   +0x008 DbgArgMark       : Uint4B
   +0x00c DbgArgPointer    : Uint4B
   +0x010 TempSegCs      : Uint4B
   +0x014 TempEsp          : Uint4B
   +0x018 Dr0            : Uint4B
   +0x01c Dr1            : Uint4B
   +0x020 Dr2            : Uint4B
   +0x024 Dr3            : Uint4B
   +0x028 Dr6            : Uint4B
   +0x02c Dr7            : Uint4B
   +0x030 SegGs            : Uint4B
   +0x034 SegEs            : Uint4B
   +0x038 SegDs            : Uint4B
   +0x03c Edx            : Uint4B
   +0x040 Ecx            : Uint4B
   +0x044 Eax            : Uint4B
   +0x048 PreviousPreviousMode : Uint4B
   +0x04c ExceptionList    : Ptr32 _EXCEPTION_REGISTRATION_RECORD
   +0x050 SegFs            : Uint4B
   +0x054 Edi            : Uint4B
   +0x058 Esi            : Uint4B
   +0x05c Ebx            : Uint4B
   +0x060 Ebp            : Uint4B
   +0x064 ErrCode          : Uint4B
   +0x068 Eip            : Uint4B
   +0x06c SegCs            : Uint4B
   +0x070 EFlags         : Uint4B
   +0x074 HardwareEsp      : Uint4B
   +0x078 HardwareSegSs    : Uint4B
   +0x07c V86Es            : Uint4B
   +0x080 V86Ds            : Uint4B
   +0x084 V86Fs            : Uint4B
   +0x088 V86Gs            : Uint4B

提示完毕。

KMSRussian 发表于 2012-2-20 21:08:12

把所有的线程的eip都改成NtTermianteThread的地址???

qwert502 发表于 2012-3-16 13:22:09

谢谢~学习了~

Tesla.Angela 发表于 2012-3-16 21:04:29

KMSRussian 发表于 2012-2-20 21:08 static/image/common/back.gif
把所有的线程的eip都改成NtTermianteThread的地址???

改成0就行了

radarhp 发表于 2012-3-18 16:56:55

额,云里雾里的.....先回再学

ggchen 发表于 2012-4-27 23:07:06

谢谢分享

chenmo不行 发表于 2012-4-27 23:15:55

嘿嘿,杀进程有很多方法,楼主的提示是让我们把线程eip给忽悠掉?或者在线程栈帧上动手脚?另外,请问下,小弟最近啃内核情景分析,怎么动手做点事情呢?书上只是介绍,让我看着看着就晕了
页: [1]
查看完整版本: 杀进程这件小事