回 帖 发 新 帖 刷新版面

主题:[讨论]怎么才能做到禁止进程的启动?

我想做一个监控软件,驻留在内存,禁止一切我不允许的进程启动,大家看看有没什么办法?
我试过的方法有:
1.挂接CreateProcessW实现对进程创建的完全控制
2.PsSetCreateProcessNotifyRoutine捕获一个进程的启动
但是这两种方法都是在进程启动才能得知,此时可能进程已经做完想要做的事了.

回复列表 (共14个回复)

沙发

在调用这两个函数前,进程是没有启动的.连模块都没加载,更别说做想做的事.

板凳

在鄙视我的问题之前,建议你看下<<windows核心编程>>,在那之前至少还有openfile,readfile.
PsSetCreateProcessNotifyRoutine肯定是在进程完全启动好后才会发出的通知消息

3 楼

关注一下..

4 楼

学习~~

5 楼

禁止程序启动.

6 楼

我想.禁止指定程序启动才能符合你的要求

7 楼

有个简单的办法...
注册表..

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Image File Execution Options

在这个 key 下面,为你想拦截的 .exe 文件建立一个 key, 比如 setup.exe
整个 key 就是 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Image File Execution Options\setup.exe

然后,为这个 setup.exe 建立一个 string 值,命名为 debugger, 填上你的程序名字。

然后就完了...

setup.exe 执行的时候,会作为参数传递到你的程序..要不要启动它,就看你程序愿不愿意了...

8 楼

楼上的恶搞啊 
竟然连 映像劫持 都用上了

9 楼

重定象的的资料  这个还是不错的

http://blog.csdn.net/linkboy2004/archive/2007/05/07/1599670.aspx

10 楼

呵呵 映像劫持 有意思

我来回复

您尚未登录,请登录后再回复。点此登录或注册