很多系统的安全问题是由于不好的缓冲处理而导致的缓冲区溢出而引起的。不好的缓冲区处理经常与字符串操作有关。标准的字符串处理函数是由C/C++语言运行时库提供的(例如:strcat、strcpy、sprintf等),这些函数都没有防止写操作会超过缓冲区实际长度。 两个新的字符串处理函数集,被称为安全字符...
分类:
其他好文 时间:
2015-05-17 18:39:40
阅读次数:
1489
第一种:绑定kbdcalss驱动对象 kbdclass类驱动对象是键盘的最上层的驱动对象,对它的分发函数进行处理,则不用考虑底层的兼容性问题。 思路:首先使用ObReferenceObjectByName函数打开kbdclass驱动对象,然后使用DeviceObject指针和NextDevice.....
分类:
其他好文 时间:
2015-05-04 17:04:40
阅读次数:
237
我曾经问别人如何开始内核编程的学习,他们基本上都说:①如果你不需要了解内核是如何为你工作的,你为何要尝试呢?②你应该订阅Linux内核邮件列表,然后努力去理解。③如果你不去编写针对Linux内核的代码,你就是在浪费时间。这些对我一点儿帮助都没有。所以我在这里列举了一些可行的方法,他们是有关操作系统和...
分类:
系统相关 时间:
2015-04-27 14:50:22
阅读次数:
205
The road to success was trial and error development, recompilation, and lots of crashes.寒假过去一个月,计划很多时候也没法跟上。不过总体上来说,还是学习和收获了一些东西的。过去的事情不能改变,所以也不必过于纠结和...
分类:
其他好文 时间:
2015-04-27 01:54:21
阅读次数:
175
原文链接:http://blog.chinaunix.net/uid-24504987-id-161192.htmlWindows规定有些虚拟内存可以交换到文件中,这类内存被称为分页内存有些虚拟内存永远不会交换到文件中,这些内存叫非分页内存#define PAGEDCODE code_seg(“PA...
函数的多线程安全性在内核编程中比用户态应用程序的编程更常见。 调用源 运行环境 原因 driverEntry,DriverUnload 单线程 这两个函数由系统进程的单一线程调用,不会出现多线程同时调用 的情况 各种分发函数 多线程 ...
分类:
其他好文 时间:
2015-04-11 10:08:36
阅读次数:
148
这些天在学习linux内核编程,就在这里小小的show以下。
首先编写如下的linux代码。并命名为hello.c
这里你应该注意亮点:
第一、linux内核编程,不同于普通的用户态下的编程;有一个入口的main函数;这里的“main”函数是module_init();同时还有一个善后处理的函数:module_exit()。
第二、linux内核编程在编译的时候,不同于用户...
分类:
系统相关 时间:
2015-03-15 16:55:45
阅读次数:
233
寒假闲下来了,可以尽情的做自己喜欢的事情,专心待在实验室里燥起来了,因为大二的时候接触过Linux,只是关于内核方面确实是不好懂,所以 十天的时间里还是希望能够补充一下Linux内核相关知识,接下来继续待在实验室里想总结一下Linux内核编程,十天肯定完全掌握不了Linux内核, 这里我也只是把自己...
分类:
系统相关 时间:
2015-02-02 15:36:20
阅读次数:
199
原文:十天学Linux内核之第一天---内核探索工具类 寒假闲下来了,可以尽情的做自己喜欢的事情,专心待在实验室里燥起来了,因为大二的时候接触过Linux,只是关于内核方面确实是不好懂,所以十天的时间里还是希望能够补充一下Linux内核相关知识,接下来继续待在实验室里想总结一下Linux内核编程,十...
分类:
系统相关 时间:
2015-01-27 09:15:54
阅读次数:
158