我已经试过Hook CreateProcessA(),CreateProcessW(),ShellExecuteA(),ShellExecuteW()这些api函数,只能拦截到很少的一些运行程序。请做过这方面的程序的高手指点一二,不必给代码,给点提示即可。解决此问题,立刻结贴。
解决方案 »
- 关于unsigned int, unsigned short, unsigned char在不同编译器内的互转换问题
- 如何在一个对话框中实现服务器与客户端
- 我想在“用activex向导生成的ocx”中增加一个返回BSTR的事件,怎么修改代码呢!?
- 如果可以,请把<windows网络编程技术>书的配套源代码发给我。
- 请教一个程序运行的问题
- 如何隐藏线程中的沙漏光标?
- 极菜的问题:关于WriteFile()
- 线程之间的参数传递问题,急!!在线等!
- vc++2005中 MSChart怎么用?
- Why 我的ON_COMMAND_DLG_UI不行
- 机器锁定的时候,屏幕拷贝函数就失效了吗
- 求助 时间 的问题,100分
有道理,可以在不允许运行的时候就把那个文件给删掉,允许运行的时候再给他弄回来,哈哈。to guangsan(丑草): 呵呵,我记得以前的超级兔子里面有这个功能,就是不知道是怎么改的。to bnlovebn(兵兵): 嗯,我也想过,不过那样也太不友好了,别弄不好引起系统崩溃才好。我想了一个办法,是受到超级兔子魔法设置里面的文件保护的启发,它里面创建了一个进程,然后在那个进程里面以独占方式打开想要保护的文件,这样别的程序就没办法打开了,它的缺点是它的那个保护文件的进程是以应用程序的方式运行的,用任务管理器一下就结束了。我做的时候会把那个保护的代码放到dll里面,然后使用远端线程的方法将代码注入Explorer.exe或者winlogon.exe中运行,大概就可以了。期待更好的解决方案哦 :)
在
case DLL_PROCESS_ATTACH:
if(...)
{
TerminateProcess(...);//退出的方法很多,还没测试!
}
break;这可是最简单的方法,楼主记得多给点分哦 :)
在该子项下建立一个名为Debugger的键,值可以是一个替代的exe文件名,如:cmd.exe那么系统在运行程序时会先判断该EXE文件名是不是test.exe,如果是的话就不运行它,而是运行cmd.exe