说说windows内核中为什么要隐藏线程?

  

<强>一论:
?接着上一篇来谈,谈进程都能隐藏,单独隐藏进程中的某一个线程干啥?
<强>二,需求:
?需求源动力,就是有需求,除了正儿八经热爱喜欢专研的朋友,无利无名,无食而学日不思,真的让人很尊敬。
<强>三,打个比方:
吗?当你想要去实现隐藏线程的时候你有可能在干什么?做一个工具?或者说是学习?通过隐藏线程可以更深入理解窗口内部原理?进程与线程之间的关系?一个正常进程里面包含恶意线程吗?这是一个很棒的学习方式。也许你会用它来做一些事情,以前想写过一个类似于方舟的工具,才有了学习的需求及动力。但是还没有实际的环境去应用隐藏线程,没有需求,但还是把代码认真的写出来,分享一些知识,知识在于分享。
<强>四,还是那些结构体:
?有时候我在想,不用winAPI我能做什么事?也许我还能做很多的事情,因为有足够的结构体我就不慌,但是,如果没有了结构体我能做什么事情?这个还真不好说,其实相对于窗户我更为喜欢Linux那种自由。
?介绍主人公_ETHREAD与_KTHREAD:
? ? 1, _EPROCESS。ThreadListHead——→_ETHREAD
? ? 2, _KPROCESS。ThreadListHead——→_KTHREAD
?线程属于进程,一个进程由多个线程,那么同一个进程的多个线程使用的是相同的进程空间,线程也叫做轻量级进程。线程挂靠技术,也可以本线程使用其他进程的空间。
? windows下线程是最小执行单位,每个进程至少会有一个主线程去响应执行。同样_ETHREAD属于执行体层,内嵌偏移0是_KTHREAD(微内核层),异曲同工之妙,windows的管理不得不说很优秀,可以用艺术来形容。
?_KPROCESS中会有一个成员叫做ThreadListHead字段是进程所有线程的链表,指向的位置是_KTHREAD.ThreadListEntry,这个地方当时异或了好久,为啥?为啥这个链表指向的就是这个结构体这个位置,其实我现在也很纠结。
说说windows内核中为什么要隐藏线程?”> <br/> <强> ? _KPROCESS。ThreadListHead指向- - - - -→_KTHREAD。ThreadListEntry </强> <br/> <img src=说说windows内核中为什么要隐藏线程?