zhch111
驱动小牛
驱动小牛
  • 注册日期2002-02-04
  • 最后登录2003-01-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1639回复:3

讨论:softice是如何在内核状态取得当前所有进程的?

楼主#
更多 发布于:2002-07-01 17:41
在应用层利用TOOLHELP32可以得到当前所有正在运行的进程,可是在内核状态下如何得到呢?softice用的是什么思路呢,98和2k的方法有什么不同?

最新喜欢:

xiangshifuxiangs...
matt
驱动中牛
驱动中牛
  • 注册日期2001-07-24
  • 最后登录2016-02-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-02 09:37
根据当前进程的EPROCESS,然后遍历整个LIST_ENTRY链就可以了,如pjf所说。

但是,此链不包含idle process。

可参见Insider (http://sys.xiloo.com/projects/projects.htm#insider).这个例子是从应用层利用LIST_ENTRY来遍历整个EPROCESS链的。
System Internals http://sys.xiloo.com
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-02 08:46
呵呵!在内核里面有一个全局变量,记录了进程的链表头的!根据这个就可以查找到
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-01 18:25
it\'s easy.
in 2000:
you can get them from a LIST_ENTRY struct in EPROCESS。

another way is use ZwQuerySystemInformation



in 98:
you can access the process datebase
游客

返回顶部