CloudWalk
驱动牛犊
驱动牛犊
  • 注册日期2004-10-31
  • 最后登录2005-04-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1862回复:3

请问在驱动中如何由某一进程句柄获取进程的名称?

楼主#
更多 发布于:2005-02-23 03:42
比如,我想在驱动中实现拦截NtTerminateProcess,已知其原型为:
NTSYSAPI NTSTATUS NTAPI NtTerminateProcess
(
  IN HANDLE               ProcessHandle OPTIONAL,
  IN NTSTATUS             ExitStatus
);

然后改写一个自己的函数NewNtTerminateProcess,当获知ProcessHandle所代表的进程对象是某一个具体的进程时(比如是notepad.exe),就直接返回。以此达到该进程不死的目的。
那么我该怎样做,才能由ProcessHandle得到进程名称呢?

菜鸟初入驱动之门,急盼大大们给予提点。能给出源代码最好不过。鞠躬了!
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2005-02-23 08:55
通过ObReferenceObjectByHandle
你可以获得其对象的指针,有了指针,你想做什么不行?????
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-23 13:04
使用汇编语言就行了,首先要知道进程的数据结构,也就是句柄
指向的内存。
[b]万水千山总是情,回个帖子行不行?[/b]
CloudWalk
驱动牛犊
驱动牛犊
  • 注册日期2004-10-31
  • 最后登录2005-04-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-23 15:14
通过ObReferenceObjectByHandle
你可以获得其对象的指针,有了指针,你想做什么不行?????


老大,多谢指教
菜鸟的问题是,用了ObReferenceObjectByHandle,获得一个类型为PVOID的对象指针后,可以做什么?
狂查DDK的随机文档,没有头绪,只好厚着脸皮再来请教具体。

菜鸟就是菜鸟 抱歉啊

游客

返回顶部