第1章 汇编指令与C语言
第2章 C语言的流程和处理
第3章 练习反汇编C语言程序
第4章 内核字符串与内存
第5章 文件与注册表操作
第6章 时间与线程
第7章 驱动、设备与请求
第8章 进入Windows内核
1.1 上机建立第一个工程
一条指令可能有很多细节,比如第二个操作数和第一个操作数中,哪个只能是寄存器,哪个不能用寄存器加立即数等。如果要用手写汇编语言来开发一个软件的话,这些知识很重要。但是实际上,现在需要的是用C语言或者更高级的语言进行开发,只是需要理解一些没有C代码的部分。读者可以认为,那些代码的汇编指令用法一定是正确的,因为它们是编译器生成的。
Windows是庞大复杂的系统。由于Windows并不公开源代码,我们在调试程序的时候,往往就调到自己未知的领域去了。没有C代码,只能看到令人眼花缭乱的汇编指令和机器码。我曾对它们望而生畏,敬而远之。尤其在这个黑客、破解、病毒、木马横行的时代,如果作为安全软件的开发者,同样不能期盼病毒的作者提供可以阅读的高级语言代码。
第1章 内核上机指导
第2章 内核编程环境及其特殊性
第3章 串口的过滤
第4章 键盘的过滤
第5章 磁盘的虚拟
第6章 磁盘过滤
第7章 文件系统的过滤与监控
第8章 文件系统透明加密
2.1 内核编程的环境
对于第一次接触内核编程的读者来说,先了解一下内核模式(Kernel mode)编程与在用户模式(User mode)下编写程序的不同之处是非常必要的。它们也可以称为用户态和内核态。虽然同样是用C语言所编写的程序,但是由于执行的方式、执行的环境都大不相同,因此可能出现的结果也不一样。读者需要有一个熟悉的过程。
本书是一本专门介绍实时扫描的防毒软件、虚拟磁盘、硬盘还原、硬盘加密、文件系统保护、文件透明加密、防火墙、密码输入保护等软件的Windows内核模块的具体实现方法的编程技术书。本书的目的是使读者能够用C语言编写这些核心模块。
我大学的时候,在Windows平台上,最初学的是VB,然后是Delphi。我的感觉是,无论想实现任何功能,都早已有工具的开发者给我们准备了良好的接口和文档,让我们学习和使用都非常的方便。因此我觉得自己已经学到了终点。如果仅仅从“能实现功能”的角度讲,我没有必要再学习了,剩下的事情,只是去很舒适地使用那些接口就可以了。那又何必再学习Windows编程呢?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
图书展示 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
相关图书推荐 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 电子工业出版社博文视点公司 http://www.broadview.com.cn |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||