解决XP DDK编译的native程序在win2k下蓝屏的问题
来源:互联网 发布:^ c语言 编辑:程序博客网 时间:2024/05/21 10:08
看来不设法把对 RtlUnhandledExceptionFilter 的引用去掉是解决不了这个问题了。
继续用 IDA 简单分析一下,发现这个函数是被 security_check_cookie 所调用到,我们知道 security_check_cookie 这个函数是微软最新的编译器自动添加到函数的尾部,用来检测函数是否存在堆栈发生缓存溢出的错误,如果是普通应用程序,我们可以通过把 c/c++ 的编译选项 Buffer Security Check 关掉,这样就不使用编译器的 /GS 开关,就不会自动添加 security_check_cookie 这个函数了,可是在native程序里如何去掉 /GS 开关呢。
查找 DDK 目录下的所有包含 /GS 的文件,发现文件 i386mk.inc 里面有个 BUFFER_OVERFLOW_CHECKS 和 /GS 相关,在 sources 文件里加入一句 BUFFER_OVERFLOW_CHECKS=0,重新用 xp ddk 编译,发现编出来的 exe 里面没有再链接 RtlUnhandledExceptionFilter 函数了,放在 win2k下运行,也不蓝屏了,问题解决了。
- 解决XP DDK编译的native程序在win2k下蓝屏的问题
- 解决Win2K/XP网上邻居慢的问题
- 解决VS2012/VS2013/VS2015下编译的程序无法在XP下运行的问题
- 解决VS2012/VS2013/VS2015下编译的程序无法在XP下运行的问题
- vs2013编译的程序不能在XP和2003下执行问题的解决
- win2k/xp下逻辑盘变RAW格式的解决
- 解决ThinkPadE40在Win10下开机蓝屏的问题
- 编译XP的DDK的例程
- 有关ZwRriteFile()在XP上正常 与2003下蓝屏的问题
- QT_win7下编译的程序在xp中运行中文乱码问题
- Qt于win7下编译的程序在xp中运行中文乱码问题
- vc6.0+DDK(xp-2600)游戏手柄按键信息获取程序出现的编译错误
- 今天第一次解决了程序在未装VS和XP下运行的问题
- DDK编译的程序增加版本信息
- 在Windows XP下编译Qt4的问题
- 解决WIN7-64,VS2008编译的MFC程序在WIN7-32/XP上不能运行的问题
- 解决Cmder无法在Windows Xp下运行的问题
- Delphi程序在Xp Home下无法运行的问题
- Baidu优化(七)点击XXXXX.com 上的更多结果
- Linux下的多进程编程
- WDM和DDK区别
- 另一种vc编译驱动方法
- SQL学习笔记:常用SQL语句操作
- 解决XP DDK编译的native程序在win2k下蓝屏的问题
- Web与WinForm关于web.config的读取
- sql xml 入门:
- 鉴相器 PD
- 编译器比预处理器更有效!
- c++ 虚函数的实现机制
- [转] 什么是BI(商业智能)
- 字符、字符数组、char、string的区别分析
- 创业要借势吗?——蒋涛 PK Leo实录(9)