阅读:1862回复:3
请问在驱动中如何由某一进程句柄获取进程的名称?
比如,我想在驱动中实现拦截NtTerminateProcess,已知其原型为:
NTSYSAPI NTSTATUS NTAPI NtTerminateProcess ( IN HANDLE ProcessHandle OPTIONAL, IN NTSTATUS ExitStatus ); 然后改写一个自己的函数NewNtTerminateProcess,当获知ProcessHandle所代表的进程对象是某一个具体的进程时(比如是notepad.exe),就直接返回。以此达到该进程不死的目的。 那么我该怎样做,才能由ProcessHandle得到进程名称呢? 菜鸟初入驱动之门,急盼大大们给予提点。能给出源代码最好不过。鞠躬了! |
|
沙发#
发布于:2005-02-23 08:55
通过ObReferenceObjectByHandle
你可以获得其对象的指针,有了指针,你想做什么不行????? |
|
|
板凳#
发布于:2005-02-23 13:04
使用汇编语言就行了,首先要知道进程的数据结构,也就是句柄
指向的内存。 |
|
|
地板#
发布于:2005-02-23 15:14
通过ObReferenceObjectByHandle 老大,多谢指教 菜鸟的问题是,用了ObReferenceObjectByHandle,获得一个类型为PVOID的对象指针后,可以做什么? 狂查DDK的随机文档,没有头绪,只好厚着脸皮再来请教具体。 菜鸟就是菜鸟 抱歉啊 |
|