windows内核编程问题集锦.pdf

windows内核编程问题集锦.pdf

ID:52308558

大小:121.84 KB

页数:2页

时间:2020-03-26

windows内核编程问题集锦.pdf_第1页
windows内核编程问题集锦.pdf_第2页
资源描述:

《windows内核编程问题集锦.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、内核驱动unresolvedexternalsymbol@__security_check_cookie@42010年2月27日评论发表评论最近在用winddk7600.16385.0开发驱动,小心谨慎的按照这篇文章设置了编译连接参数,在编译选项关闭了buffersecuritycheck,但工程里要用到wdmsec.lib静态库,里面链接进了符号__security_check_cookie@4,因此我编译始终出错,用了各种办法问题依旧,中间甚至试图逆向wdmsec.lib静态库,用IDA打开

2、一看,发现工程浩大,只能放弃.G(oogle)啊G啊,G了好久,在这里找到了解决方案:将bufferoverflowU.lib静态库加入链接依赖列表.问题解决.后来用depends打开sys文件一看,链接进了kernel32.dll,对于ring3的应用程序,这是很好的解决办法;但对于内核驱动,这是绝对不可以的.看来这里才是解决问题的真正方法.在源代码的最后添加如下代码,然后在工程设置内添加VS_IDE_BUILD标记.在链接设置内将入口点从DriverEntry改成GsDriverEntry.

3、问题解决.查看源代码打印帮助01#ifdefVS_IDE_BUILD02ULONG___security_cookie=0xbb40;03ULONG___security_cookie_complement=0xFFFF44BF;04NTSTATUSGsDriverEntry(INPDRIVER_OBJECT05DriverObject,PUNICODE_STRINGRegPath)06{07LARGE_INTEGERtickCount;08KeQueryTickCount(&tickCount

4、);09if(!___security_cookie

5、

6、___security_cookie==0xbb40)10{11ULONGtemp=(ULONG)&___security_cookie;temp=((temp>>8)^tickCount.u.LowPart)&120xffff;13if(temp)14___security_cookie=temp;15else16___security_cookie=tickCount.u.LowPart&0xffff;17}1819___securit

7、y_cookie_complement=~___security_cookie;20returnDriverEntry(DriverObject,RegPath);21}2223void__fastcall__security_check_cookie(ULONGcookie)24{25if(cookie!=___security_cookie

8、

9、cookie&0xffff0000)KeBugCheckEx(0x7f,cookie,___security_cookie,___security26

10、_cookie_complement,0);27}28#endif//VS_IDE_BUILDPS.也可以这么解决,如果BufferSecurityCheck(/GS)开关是打开的,把入口点改成GsDriverEntry@8,并加上BufferOverflowK.lib静态库.PPS.原来,BufferOverflowK.lib的意思是内核态的BufferOverflow库,BufferOverflowU.lib是用户态的BufferOverflow库.That’sall.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。