《格蠹汇编》-第5章笔记

第五章 拯救"发疯"的Windows7


讲述内容:一Win7进入桌面时提示“Windows must now restart because the Power service terminated unexpectedly”,随后强制重启。利用WER机制,分析系统转储文件,定位栈缓冲区溢出错误。

关键点:
1、WinRE
在高级启动菜单中选择Repair Your System,可以进入到WinRE(Windows Recovery Environment) 的命令行方式下。使用Dir *.mdmp /s搜索系统分区可以找到WER机制产生的转储文件。

2、GS机制
“VC8编译器在编译可能发生缓冲区溢出的函数时,会定义一个特别的局部变量,该局部变量会被分配在栈帧中所有其他局部变量和栈帧指针与函数返回地址之间...我们将其称为Cookie变量。”
在函数返回前对于Cookie变量进行检验,如果其值发生变化,说明栈发生溢出,返回地址很可能被破坏。此时就会跳转到__report_gsfailure,抛出栈缓冲区溢出异常,再由UnhandledExceptionFilter接管异常的处理,最后终止当前进程,这也最终导致了系统服务的终止和Win7的重启。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值