【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了《寒江独钓:Windows内核编程与信息安全》 - 信息产业相关资料,希望对各位网友有所帮助!
书名: 寒江独钓——Windows 内核编程与信息安全(免费试读版)内容简介: 这本书是一本专门介绍实时扫描的防毒软件、虚拟磁盘、硬盘还原、硬盘透明加密、文件透明加密、防火墙、反外挂、反窃取密码等软件的 Windows 内核模块开发的编程技术书。
这本书的读者需要有 C 语言的基础。
作者: 楚狂人联系方式: (QQ 16191935 MSN: walled_riverhotmail.com Email: mfc_tan_wen163.com) 广告 此书的读者,请点击 http://www.china-pub.com/209258 本文作者的第一本正式出版的书《天书夜读:从汇编语言到 Windows 内核编程》。
您的点击和评论可以提高此书在 china-pub 上的关注度排名,以便更多圈外的读者可以看到此书。
版权信息 本书为楚狂人原创,保留一切权利。
欢迎勘误、或者对大纲提出建议、或是修改某些章节(请用 doc 修订模式修改,改后发邮件到:mfc_tan_wen163.com) 欢迎转载未修改过的版本。
但必须保证全文完整、广告、版权声明和作者信息完整。
严禁拷贝全部或部分用于商业出版物。
严禁不经作者同意的情况下,剽窃本文全部或部分内容到其他文章、著作中。
前言 这本书是一本专门介绍实时扫描的防毒软件、虚拟磁盘、硬盘还原、硬盘透明加密、文件透明加密、防火墙、反外挂、反窃取密码等软件的 Windows 内核模块开发的编程技术书。
这本书的读者需要有 C 语言的基础。
我大学的时候,在 Windows 平台上,最初学的是 VB然后是 Delphi。
我的感觉是,无论想实现任何功能,都有工具的开发者,早就已经给我们准备了良好的接口和文档,让我们学习和使用都非常的方便。
因此我的学习到了我以为的终点。
如果仅仅从“能实现功能”的角度讲,我没有必要再学习了,剩下的事情,只是去很舒适的使用那些接口就可以了。
那又何必再学习 Windows 编程呢。
工作之后我遇到了障碍。
我的第一个任务是实现一个网络的虚拟磁盘。
我虽然自以为无所不能,但是也找不到在 Windows 系统里增加一个虚拟磁盘的 API 在哪里。
我每天都在使用虚拟光驱、杀毒软件、防火墙。
但是我从未想过他们如何实现。
不是因为我懂,而是因为我自以任何功能的实现一定是简单而舒适的。
等需要的时候再去研究,绝不会有什么困难。
但是实际编码的时候才明白。
良好的接口,舒适的编码过程,绝对不是天生之道。
天地万物自混沌而起。
那些美好的表面,不过是在残酷的现实上重重包裹的包装纸罢了。
一辆新车的表面自然光彩照人,操作接口也人性而美好。
但是一旦需要打开车身去修理内部某根漏油的管子,就没有那么容易和舒适了。
绝不是 Windows 的底层开发者们天生没有美学观念。
那些多年积累和维护着并不断改进的无数行代码,已经是人类工程史上的奇迹了。
如今要打开它的外壳去肆意修理,当然不是一件轻松的事情。
但这正是 Windows 内核编程的魅力所在。
只有极少的程序员会需要参与微软的 Windows 内核的开发。
也只有极少的读者会试图去自己从头去开发一个类 Windows 的操作系统内核 (有这方面兴趣的读者,建议参考开源项目 ReactOS)。
单纯的讲解 Windows 内核编程对大多数读者都没有意义。
但是,信息安全类的软件是内核编程的极好的应用实例。
病毒实时监控、防火墙、入侵检测、数据保护还原、数据即时备份、数据加密、数据防止泄密、反外挂,都不同程度的涉及到内核编程,或者,内核编程可以让它们工作得更好。
这就是本书的内容。
因此本书的副标题为《Windows 。
内核编程与信息安全》“寒江独钓”则表明了这个领域的寒冷与寂寥。
这本书适合有志于成为软件程序员的学生,也适合希望加强自己的技术实力的Windows 程序员。
同时更精确的适合从事信息安全行业的 Windows 软件的开发者。
本书假定读者了解 C 语言,能理解 C 语言的基本语法。
本书的读者未来很可能会从事底层编码的工作,而不是一个上层的设计和管理人员。
从事底层编程的程序员,常常被同事称为“牛人”。
这个牛人不是“牛皮哄哄的人”的意思,而是“像牛一样辛苦工作的人”的意思。
想从事这个行业的读者,本人抄古人《代牛言》一首献给您: 渴饮颍水流,饿喘吴门月。
黄金如可种,我力终不竭。
谭文 2008 年 10 月 30 日 目录前言 ............................................................................................................................................... 3目录 ............................................................................................................................................... 5第一章 内核上机指导 ................................................................................................................. 7 1-1 下载和使用 WDK ......................................................................................................... 7 1-1-1 下载安装 WDK ................................................................................................... 7 1-1-2 编写第一个 C 文件 ............................................................................................. 8 1-1-2 编译一个工程.................................................................................................... 10 1-2 安装与运行.................................................................................................................. 12 1-2-1 下载一个安装工具............................................................................................ 12 1-2-2 运行与查看输出信息........................................................................................ 13 1-2-3 在虚拟机中运行................................................................................................ 15第二章 内核数据类型与函数 ................................................................................................... 17 2-1 数据类型...................................................................................................................... 17 2-1-1 基本数据类型................................................................................................... 17 2-1-2 返回状态........................................................................................................... 18 2-1-3 字符串............................................................................................................... 19 2-2 重要的数据结构 .......................................................................................................... 20 2-2-1 驱动对象........................................................................................................... 20 2-2-2 设备对象........................................................................................................... 21 2
上一篇:
第一章Java入门(PDF
下一篇:
谈初中数学“一元二次方程”的几种常见题型