首页
论坛
专栏
课程

[原创]win10 64位 进程 线程分析

2019-7-22 01:25 1835

[原创]win10 64位 进程 线程分析

2019-7-22 01:25
1835
win10 64位 进程 线程分析



需要知道进程的属性里的信息

kd> dt _EPROCESS

.........

+0x2e0 UniqueProcessId : Ptr64 Void ///////////进程编号就是任务管理器的PID

..........

+0x2e8 ActiveProcessLinks : _LIST_ENTRY //////进程活动链表,双向链表有所有活动进程连在一起,构成了一个链表PsActiveProcessHead指向全局链表头

...........

+0x308 CreateTime : _LARGE_INTEGER //////////////什么时候创建的

+0x310 ProcessQuotaUsage : [2] Uint8B ////////物理页相关的统计信息

+0x320 ProcessQuotaPeak : [2] Uint8B ///////物理页相关的统计信息

+0x330 PeakVirtualSize : Uint8B /////////虚拟内存相关的统计信息

+0x338 VirtualSize : Uint8B /////////虚拟内存相关的统计信息


+0x350 ExceptionPortData : Ptr64 Void ////////调试相关的

+0x3f8 Peb : Ptr64 _PEB ////////////////////PEB(Process Environment Block进程那个环境块):进程在3环的一个结构体,里面包含了进程的模块列表、是否处于调试状态信息。

关于PEB或其他成员更加详细的说明参考潘爱民老师的<Windows内核原理与实现>中的第3章

+0x418 ObjectTable : Ptr64 _HANDLE_TABLE ///////句柄表

+0x420 DebugPort : Ptr64 Void //////////////调试相关的

+0x450 ImageFileName : [15] UChar /////////////进程镜像文件名 最多15个字节

+0x488 ThreadListHead : _LIST_ENTRY //////双向链表的线程的链表头

+0x498 ActiveThreads : Uint4B //////////////////////////活动线程的数量

.............

+0x4f0 CommitCharge : Uint8B ////////

..................

+0x628 VadRoot : _RTL_AVL_TREE ///////标识0-2G那些地方没占用(和模块隐藏有关)

+0x690 ExitTime : _LARGE_INTEGER //////////退出时间

............



【【【【 +0x030 ThreadListHead : _LIST_ENTRY ///////////双向链表的线程的链表头

+0x488 ThreadListHead : _LIST_ENTRY ////// //////双向链表的线程的链表头

】】】】】


kd> dt _KPROCESS

ntdll!_KPROCESS

+0x000 Header :_DISPATCHER_HEADER //”可等待”对象,比如Mutex互斥体、Event事 件等(WsitForSingleObject)



+0x018 ProfileListHead : _LIST_ENTRY

+0x028 DirectoryTableBase : Uint8B /////// 页目录表基址------最终填到Cr3的值

+0x030 ThreadListHead : _LIST_ENTRY //////////////// //////双向链表的线程的链表头

+0x040 ProcessLock : Uint4B

+0x044 ProcessTimerDelay : Uint4B

+0x048 DeepFreezeStartTime : Uint8B

+0x050 Affinity : _KAFFINITY_EX //////规定进程里面的所有线程能在那个CPU上跑,如果值为1,那只能在0号CPU跑:3是0、1 4是2 5是0、2

windows64位最多64核

+0x0f8 ReadyListHead : _LIST_ENTRY

+0x108 SwapListEntry : _SINGLE_LIST_ENTRY

+0x110 ActiveProcessors : _KAFFINITY_EX

+0x1b8 AutoAlignment : Pos 0, 1 Bit

+0x1b8 DisableBoost : Pos 1, 1 Bit

+0x1b8 DisableQuantum : Pos 2, 1 Bit

+0x1b8 DeepFreeze : Pos 3, 1 Bit

+0x1b8 TimerVirtualization : Pos 4, 1 Bit

+0x1b8 CheckStackExtents : Pos 5, 1 Bit

+0x1b8 CacheIsolationEnabled : Pos 6, 1 Bit

+0x1b8 PpmPolicy : Pos 7, 3 Bits

+0x1b8 ActiveGroupsMask : Pos 10, 20 Bits

+0x1b8 VaSpaceDeleted : Pos 30, 1 Bit

+0x1b8 ReservedFlags : Pos 31, 1 Bit

+0x1b8 ProcessFlags : Int4B

+0x1bc BasePriority : Char //////基础优先级或最低优先级,所有线程最起码的优先级

+0x1bd QuantumReset : Char

+0x1be Visited : Char

+0x1bf Flags : _KEXECUTE_OPTIONS

+0x1c0 ThreadSeed : [20] Uint4B

+0x210 IdealNode : [20] Uint2B

+0x238 IdealGlobalNode : Uint2B

+0x23a Spare1 : Uint2B

+0x23c StackCount : _KSTACK_COUNT

+0x240 ProcessListEntry : _LIST_ENTRY

+0x250 CycleTime : Uint8B

+0x258 ContextSwitches : Uint8B

+0x260 SchedulingGroup : Ptr64 _KSCHEDULING_GROUP

+0x268 FreezeCount : Uint4B

+0x26c KernelTime : Uint4B 记录了进程在内核或用户层运行所花费的时间

+0x270 UserTime : Uint4B

+0x274 ReadyTime : Uint4B

+0x278 UserDirectoryTableBase : Uint8B

+0x280 AddressPolicy : UChar

+0x281 Spare2 : [71] UChar

+0x2c8 InstrumentationCallback : Ptr64 Void

+0x2d0 SecureState : <unnamed-tag>

子结构体

kd> dt _PEB_LDR_DATA

ntdll!_PEB_LDR_DATA

+0x000 Length : Uint4B

+0x004 Initialized : UChar

+0x008 SsHandle : Ptr64 Void

+0x010 InLoadOrderModuleList : _LIST_ENTRY/////////////这个是加载的模块:这三个双向链表当前进程有多少模块

+0x020 InMemoryOrderModuleList : _LIST_ENTRY///////////内存中的模块

+0x030 InInitializationOrderModuleList : _LIST_ENTRY 初始化模块的顺序

+0x040 EntryInProgress : Ptr64 Void

+0x048 ShutdownInProgress : UChar

+0x050 ShutdownThreadId : Ptr64 Void

这三个隐藏的话达到隐藏模块的效果

文档:win10 64位 进程 线程分析.note

链接:http://note.youdao.com/noteshare?id=061dc826e89a4beee51bbc976885d188


[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最后于 2019-7-22 01:27 被慢热型编辑 ,原因:
最新回复 (2)
xie风腾 2019-7-22 08:50
2
0

感觉很强大,多谢 楼主
binlmmhc 2019-7-22 12:51
3
0
windows internal 7版本出来了,可以看看
游客
登录 | 注册 方可回帖
返回