阅读:1335回复:3
求助:对进程上下文的困惑.哪位大哥指点一下。
在一个进程上下文 KeAttachProcess 另一进程后,接着 PsGetCurrentProcessId,仍然是原进程的ID,但是PsGetCurrentProcess却是所附加进程的EPROCESS,不知道这该怎么理解。
|
|
沙发#
发布于:2007-02-06 23:22
晕了,是我提的问题太初级嗎?没有哪位大哥解答一下。
|
|
板凳#
发布于:2007-02-07 20:50
反汇编一下就清楚了,结合windbg,看一下KTHREAD的结构
PsGetCurrentProcessId() {PsGetCurrentThread()->Cid.UniqueProcess;} PsGetCurrentProcess(){PsGetCurrentThread()->ApcState.Process;} KeAttachProcess把ApcState.Process换成了另一个Process,而Cid.UniqueProcess没有改变 所以会有你看到的情况 |
|
地板#
发布于:2007-02-08 09:58
多谢版主大哥亲临指点,使在下知道原因所在。我知道做这个不懂调试,反汇编,永远都是知其然不知其所以然,所以小弟正在对这方面学习之中。
|
|