看流星社区

 找回密码
 注册账号
查看: 2210|回复: 1

根据PID在PspCidTable中寻找EProcess

[复制链接]

该用户从未签到

发表于 2012-6-3 15:02:27 | 显示全部楼层 |阅读模式
需要的工具WinDbg~接下去开始在Command输入相应命令,写出来以防以后我忘记鸟...
假设我们要寻找PID是07d8的进程,这里我只有一张表,所以步骤略微简单,如果多张表可以参考WRK
0: kd> dd PspCidTable
805638c0 e1000c88 00000002 00000000 00000000
...

0: kd> dt _handle_table e1000c88
nt!_HANDLE_TABLE
   +0x000 TableCode        : 0xe1005000
...
   +0x038 NextHandleNeedingPool : 0x800
...
   
e1005000 + 7D8 * 2 = E1005FB0 (为什么的话,请参考ExpLookupHandleTableEntry)
接下去可以dt _handle_table_entry E1005FB0 或者dd E1005FB0 (个人偏好dd)

0: kd> dd E1005FB0
e1005fb0 81f52421 00000000 81f48da9 00000000
...

81f52421 & (~7) = 81f52420 (根据教主的提示,这里的确是7,可以参考某书的P139)

0: kd> !process 81f52420
PROCESS 81f52420 SessionId: 0 Cid: 07d8    Peb: 7ffd4000 ParentCid: 02a0
    DirBase: 02b40280 ObjectTable: e14e8a28 HandleCount: 133.
    Image: VMwareService.exe
   
其实网上目前关于PspCidTable的文章现在已经很多了,不过我感觉最主要的还是要自己看WRK吧
感觉有的人写的PspCidTable穷举进程的代码好像连WRK都没认真看过...

该用户从未签到

发表于 2012-8-30 14:28:03 | 显示全部楼层
这么好的文章 竟没有回复
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-30 22:11

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表