- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9行代码废掉WindowsXP2000
9行代码废掉Windows XP/2000
2001-10-31 9:27:17,阅读次数: 2498
新闻内容:
微软一直声称Windows XP多么多么稳定可靠,但日前一位名为Masaru Tsuchiyama的外国编程爱好者刊出了一小段C语言代码。这一只有9行的小程序如果在Windows XP/2000下运行,则可导致系统完全崩溃,并重新启动。但此程序对其他版本的Windows没有任何影响。这一产生无限循环输出的小程序的代码如下:
#include
int main( void )
{
for(;;){
printf( hung up\t\t\b\b\b\b\b\b );
print(hung up\t\t\b\b\b\b\b\b);
}
return 0;
}
如果去掉Print语句,此程序还会导致NT 4.0系统出现蓝屏错误。
但愿微软赶快修补这一漏洞。同时提醒大家,此代码只可用于研究,不得用于任何非法勾当。
推荐给朋友 打印文章 观看更多评论文章……(共21条)
评论人: xiaodaoren 评论时间:2001-11-3 21:05:26
为什麽?
--------------------------------------------------------------------------------
评论人: coaa 评论时间:2001-11-1 11:59:00
这是某一位高手的调查结果以及个人的判断:(转载的)
调查结果公布如下:
#include stdio.h
int main()
{
printf(\t\b\ba);
}
即可崩溃(需双击运行,命令行运行需更多的\b).
表面原因如下:
\b是退格符,
首先使用退格符将console上的光标退没,
然后显示任一字符(除\t),即崩溃.
但是一般情况\b是不能退出规定的区域的,
而如\b的前一个字符是\t则可以退出规定的区域(bug?).
双击运行时,系统将新建一个console,所以我们的显示在console
的左上角,我们只需两个\b就可退出屏幕(第一个吃掉\t).
内在原因:
windows subsystem system process(win32子系统) 意外中止导致系统崩溃.
会话管理器(smss)是windows系统建立的第一个用户进程,
他的工作之一是建立win32子系统进程(csrss)和winlogon进程,
然后永远等待这两个进程的句柄,如这两个进程意外中止,
smss将导致系统崩溃(进程中止时会返回进程句柄).
win32子系统(csrss)是什么东西哪?
windows系统号称使用一部分微内核机制就体现在这里,
微内核机制要求操作系统将大部分功能做为进程运行在用户态,
如mm(memory menage),fs(file system)等等,
csrss进程就是专门负责所有win32进程和系统进行通信的进程.
所有win32进程的系统调用都会由csrss进程帮你完成,
但是这样做的效率太低(需要进程切换).
所以在windowsNT从3.51升级为4.0时将许多部分从用户态移入
核心态,win32进程的系统调用将直接进行以减少进程切换时间.
但是仍有少量系统调用需要csrss进程完成,据我所知createprocess
是这样的函数,所有console上的显示是这样的函数(还有其他的).
当我们调用printf(\t\b\ba)最终将调用WriteFile API.
WriteFile((HANDLE)7,\t\b\ba,NULL,NULL)等同于
printf(\t\b\ba),7是console标准输入的句柄.
WriteFile判断句柄类型,如是文件句柄将调用ntdll.dll中的
NtWriteFile函数.如是console句柄将调用WriteConsoleA函数.
WriteConsoleA函数将调用ntdll.dll中的csrClientCallServer
函数通知csrss进程,然后调用NtRequestWaitReplyPort等待结果.
估计是csrss进程在处理这个请求过程中出错了.
跟踪csrss进程和系统调用VC就搞不定了,恐怕要上softice了.
至于csrss进程怎么出的错,还是等其他高手继续吧:-)
大家也探讨
您可能关注的文档
- 2014常州事业单位招聘考试网:金坛市事业单位公开招聘工作人员75人.doc
- 7.1 两个基本计数原理.ppt
- 704-第一届广西名特优农产品交易会组织奖评奖办法.doc
- 2014年三亚南山+天涯海角一日游.doc
- 2014年下半年江苏南京市部分事业单位招聘简章.doc
- 7.16 7AU1IST教案.doc
- 2014年东北师范大学招聘29名管理职员公告.docx
- 2013年案例答案.docx
- 7A Unit 1-unit2 单元测验.doc
- 2014年六安教师招考面试辅导:2014年安徽省政法干警考试体检要求.doc
- 难点详解鲁教版(五四制)6年级数学下册期末测试卷带答案详解(考试直接用).docx
- 难点详解鲁教版(五四制)6年级数学下册期末试题【培优】附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题及完整答案详解(全国通用).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(名师系列).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解【全国通用】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(突破训练)附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(能力提升)附答案详解.docx
- 难点详解京改版数学9年级上册期中试卷附参考答案详解【突破训练】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(有一套).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷带答案详解(夺分金卷).docx
文档评论(0)