关于Ctrl+Alt+Del的禁用

发布时间:2018年1月28日 作者:未知 查看次数:1079


void mOpenTaskmgr()

{

HANDLE tFile;

char tSysDir[MAX_PATH];

OFSTRUCT ofStruct={sizeof(OFSTRUCT)};

tSysDir[0]=0;

GetSystemDirectory(tSysDir,MAX_PATH);

wsprintf(tSysDir,"%s\\taskmgr.exe",tSysDir);

tFile=OpenFile(tSysDir,&ofStruct,OF_READ | OF_SHARE_EXCLUSIVE); //OF_SHARE_DENY_READ或者是OF_SHARE_EXCLUSIVE都能禁止其他程序读写文件

}

测试XP下可以。Win7提权没试。


===========================================================

自:http://blog.sina.com.cn/s/blog_70dc4ea0010151r7.html


XP中,Ctrl+Alt+Del可以打开任务管理器(偶发现Ctrl+Shift+Esc也可以),关于禁用这个热键,网上是见了多了,有这几种方法:

  1、通过注册表禁用,网上大多数用此方法,打开任务管理器就会提示被禁用

  2、监视窗口或进程,一发现就K了

  3、键盘Hook(其实没效果- -)

  4、Open Environ$("WinDir") & "\system32\taskmgr.exe" For Binary As #1(占用了文件,自然打不开)

  5、用了一个API,好像是SetSystemInformation这样的吧,记不清了,不过我试验好像也没效果

  6、Ctrl+Alt+Del貌似是winlogon管的,直接让winlogon死!(系统蓝屏- -)

  ……

我用的是第4种,既方便有实用- -。

  后来在不知哪个论坛上说到了Win7/Vista中禁用Ctrl+Alt+Del,而在Win7/Vista中Ctrl+Alt+Del是打开一个界面(叫什么名字来着?),这就有些麻烦了。我首先想到的就是把SwitchDesktop给HOOK了……

  APIHook太麻烦,XP下的方法又没用,怎么办呢?对了,也不是所有方法都没有呵。方法6……

  在Win7/Vista下winlogon杀死后不会蓝屏,Ctrl+Alt+Del也可以成功屏蔽,不过桌面会空空如也(Explorer死了?!)干嘛这么暴力杀winlogon啊,把它给Suspend不就行了?!

  有思路了,先进程提权(不然OpenProcess返回0),然后OpenProcess,再NtSuspendProcess,要恢复就用NtResumeProcess,这个方法好!

  我试了一下,这方法在XP下也有效,系统并无崩溃,不过用户切换会不会有问题呢?没试验过,还是不要在多用户的机子上用为好。




版权所有!www.sieye.cn
E.Mail:sieye@sohu.com QQ:66697110