“驱网核心技术丛书”创作团队访谈
“驱网核心技术丛书”创作团队访谈
本文由驱网核心技术丛书 作者 谭文 组稿
本丛书策划引言:
“ 驱网核心技术”丛书的第2本重量级作品《寒江独钓——Windows内核安全编程》刚刚面市,现在已经得到了很多朋友的关注。想想《天书夜读——从汇编语 言到Windows内核编程》问世已经超过半年了,回想起来,非常高兴能在这本书上市2个月的时候,就获得“2008年度IT图书风云榜十大畅销经典”。 2个月就能取得这样的成绩,真是不容易。关于“天书”的好评固然有之,差评也是不少的。一般人都只收集好评,我觉得有些负面评论写得也很不错,还是要感谢 有这么多提批评意见的读者朋友们,特摘录如下:
○“这本书的内容有点对不起它的价格。
○“很多东西只是写了该怎么做,没有写明白为什么要这么做,作为一本书的作者,其实应该持有更加谨慎和深入的态度,比如多次提到,某某参数作者仅仅用过一种,其他没有用过,这样的做法,其实离一本好书,还是有距离的。
○“内容也比较散乱,本书的主题到底是什么?是驱动开发,还是系统安全编程?虽然两者有紧密的联系,但是混淆在一起,也让人有些不着边际。”
○“此书与其说是书,不如说是作者的学习笔记。没有系统性,东一榔头西一棒槌。”
○“我希望得知这本书主要面向什么样的读者?是侧重安全方向?还是系统编程,还是学编程的都应该去读?还是其他什么?”
其实读过本书,对本书有这样的评论,是非常正常的。我也非常感谢这些读者,他们一定是认真读过本书,才会产生这样的困惑。”《寒江独钓——Windows内核安全编程》面市之后,相信也是褒奖与批评并存的。
市面上关于底层的图书说多也多,精品还是很少的,很多人关注“驱网核心技术”丛书的作者有着怎样的背景,我想借此机会给大家详细介绍一下:“驱网核心技术 丛书”所有的作者,都是在实际工作岗位上,作为软件的实际编码编码人员,工作了许多年的。没有在校学生、大学老师、或者是研究机构的研究人员参与写作本套 丛书。因此注定了这些书的特色——它们不是系统的总结知识体系的教材,而是指导实际工作的实践经验之书。
工程实践和学术研究往往不是一回事。比如说,在一个工程中,涉及到计算机底层知识的很多情况就是解决软件故障。一个软件安装之后,在某个电脑上有时(比如 说平均一周发生一次)的有故障现象发生,在另一台电脑上却没有任何问题。但是客户是不会容你挑选电脑的。那么你能解决这个问题吗?
有的人汇编、操作系统、C语言、数据结构无一不精通,却全然不知道怎么下手。有的人半道出家,只是耳濡目染,学一点边角料,却偏偏能迅速找到问题所在。这是为何?
这是因为知识再多,也是可以分门别类,逐条学习的有形之物。问题却是无形的。计算机代码,从最高层一直到最底层,从C语言一直到机器码,这中间千头万绪, 任何一个小小的失误、任何一个阴差阳错,都有可能导致问题出现。如果只把持着条条框框的有形的知识,又怎么能去解决千头万绪、完全“胡来”的种种问题呢?
从08年下半年到现在,我和本套丛书的作者,也就是驱动开发网的创作团队成员们相识也有大半年的时间了,也逐渐熟悉并适应了作者们的脾气和处世方法,现在 我们是非常好的朋友。有时候想想“编辑”其实也是设计师,如果不注重作品的品相,草率出版恐怕会有太多的遗憾,也体现不出一本书的价值了。从事出版工作6 年了,我个人感觉图书还是值得收藏或者是珍藏的,至少很多图书值得这么做。在和作者们聊天的时候,我得到了以下的反馈信息,在此与广大读者朋友共享!
提问一:为何会有写作这几本书的想法呢?
谭文: 我读大学的时候,也系统的学过许多的功课。无论是“汇编语言”“操作系统”、“体系结构”、“计算机网络”,部部都是经典之作。但是却缺少一条线索,让我将这些知识融汇贯通,去面对实际的问题。
因此我刚毕业时,虽然懂汇编,也知道操作系统的原理。但是打开WinDbg看到Windows内核的那些反汇编,却什么都不懂。有的那些“非科班出身”的 老手,却看得头头是道。有的人精通网络知识,但是说到要自己去编写一个Windows的内核防火墙,却只能拷贝人家现成的代码,稍微做点修改,马上蓝屏。 蓝屏之后,又茫然不知所措,最后就放弃了。有的人网络知识一知半解,考试就靠连夜磨枪,但是实际工作的时候,却总能按时交出符合要求,运行稳定的程序。
提问二:“融汇贯通”看似简单,真正实现还是很难的。为何《天书夜读》抛弃了专门讲述驱动、安全、操作系统、或者汇编语言这样的某一个专题,却选择了从汇编开始、然后是驱动、最后是安全应用的这样一个结构?
邵坚磊: 融汇贯通其实就是善于应用。应用的技巧,并不在于知识的全面、知识的深入,也不在于知识的专注,而在于知识之间的联系。比如提到汇编语言,汇编语言的书籍 已经太多,如果要系统的学习汇编语言,市面上已经有很好的书作为选择,何必用《天书夜读》?但是即使汇编语言学得很好,也不一定能灵活的应用到系统程序的 调试中。这中间有一个坎,《天书夜读》就是在这个坎上造一个阶梯,让读者能有个不那么陡峭的过渡,来获得这种能力。同时对于不怎么会汇编语言的读者,《天 书》也准备了简要的内容,让0起点读者能有足够的信息能继续阅读下去,获得这种能力。当然,在实际工作中,读者还是要自己查阅手册,去了解更多更全的 x86指令。
提问三:你觉得汇编语言在哪里有应用?
谭文: 在驱动开发调试的时候很有用。因为WinDBG里显示的Windows内核,全部是反汇编的代码。我就是为了这个原因,才想到写《天书夜读》。市面上介绍驱动开发的书也不少,但是我很骄傲的说,用反汇编来帮助编写驱动程序的,《天书夜读》暂时是独此一家,别无分店。
提问四:驱动开发在哪里有应用?
马勇: 无疑为特殊的硬件开发驱动程序的应用是很多的,国内很多大学导师都在做各种研究项目。信息、电子方面的项目一个很重要的问题就是,我们新制作的硬件设备往 往是没有标准的驱动程序可用的,为了和PC机之间有一个衔接,就必须学会编写驱动程序。很多研究生,包括博士、硕士其实都在为导师做这样的工作。为此我们 计划编写《竹林蹊径》,专门介绍这方面驱动程序的编写。但是在目前国内软件界,更多的应用,是在为Windows开发通用的安全相关的软件。比如杀毒软 件、信息备份和恢复软件、反外挂、防火墙等。同样,市面上介绍驱动开发的书也很多,但是很少有和信息安全联系在一起的。为此我们编写了《寒江独钓》,现在 已经上市了。
“本书的主题到底是什么?是驱动开发,还是系统安全编程?虽然两者有紧密的联系,但是混淆在一起,也让人有些不着边际。”这样的评述,估计在《寒江独钓 ——Windows内核安全编程》读完之后,一定还会有。但是我想这是可以理解的。在做一个实际的安全软件项目的时候,你也会有同样的疑问。你到底是搞信 息安全的呢,还是搞驱动开发的呢?但这是合理的。任何一个具体问题的解决,几乎都是多种知识的综合应用。
驱网核心技术丛书的几本书,都贯彻着这样的理念:要用实际的经验,来运用所学的知识,不论哪门哪类,都要将它们应用到实际中去,解决实际的技术问题,使我们如《碧血剑》中的袁承志一样,在看完《金蛇秘笈》之后,找到了金蛇剑,才豁然贯通,如同金老爷子写道:
“袁承志眼望天上明月,《金蛇秘笈》中种种武功秘奥,有如一道澄澈的小溪,缓缓在心中流过,清可见底,更无半分渣滓,直到红日满窗,这才醒觉。”
提问五: 好,那最后,你能不能介绍一下你们的创作团队呢?
谭文: 我们的创作团队基本上都是驱动开发网上的网友由兴趣自由组合。只要有兴趣加入的网友,我们都提供试写一两章的机会,驱动开发网也不从中获取任何商业利益, 所有稿费都由作者所有。驱网的成员绝大多数是实际的软件开发人员。我们每个人都有自己的工作,都只利用业余的时间来编写这个系列的丛书。所以从去年4月到 今年6月一年多的时间我们只编写两本书,其中还有很多内容是我们以前编写过的教程改编而成的。和专业的作者相比,可以说进展非常的缓慢。但是我们的优点 是,所有的作者都是经验丰富的开发老手(虽然有些年龄并不大)。我们虽然理论知识并不一定基础扎实,但是都知道在实际开发中需要解决什么问题。所以这些书 是经验的总结。
比如说马勇,他从22岁毕业开始工作之后,一直都从事各种各样的软件开发。到现在已经快9年了。我也工作了7年。很多程序员编写两三年代码之后,就被提升 或者转移到了其他的职位,或从事管理,或从事其他的行业去了。这和个人爱好有关。不过我们的创作团队的所有成员的共同点是,我们从毕业一直到现在都在每天 编写代码。杨潇、张佩也是各自公司里非常重要的编码人员。我们这些人写的代码现在在无数的电脑稳定运行,毫不夸张的说,遍布全世界,或许你用的电脑里就 有。虽然并没有贴着商标。
当然邵坚磊同学比较特殊,他以前曾经是一个医生。不过现在wowocock的大名在网上如雷灌耳。从这里读者也可以看出,想学习编程技术,做一个自由快乐的程序员,并不用担心年龄,和自己原来的职业。
“驱网核心技术”丛书
> 天书夜读:从汇编语言到Windows内核编程 (详细内容)
【书 名】天书夜读:从汇编语言到Windows内核编程
【作 者】 谭文,邵坚磊 著
【ISBN】 978-7-121-07339-7
【出版社】 电子工业出版社
【出版日期】2008年12月
【宣传语】
从貌似天书的汇编代码中,一探Windows底层的核心实现。
在开发中出现的问题,能从Windows自身找到答案!
【内 容 简 介】
本书从基本的Windows程序与汇编指令出发,深入浅出地讲解了Windows内核的编程、调试、阅读,以及自行探索的方法。读者在使用C/C++开发 Windows程序的基础上,将熟练掌握汇编和C语言的应用,深入了解Windows底层,并掌握阅读Windows内核的基本方法,以及Windows 内核的基本编程方法。
本书适合使用C/C++在Windows上编程的读者,尤其适合希望加深自己技术功底的Windows应用程序员、计算机专业的有志于软件开发的大中院校学生;专业的Windows内核程序员,亦可从本书得到超越一般内核程序开发的启发。
【书名】寒江独钓:Windows内核安全编程
【作者】谭文,杨潇,邵坚磊 著
【ISBN】978-7-121-08796-7
【出版社】电子工业出版社
【出版日期】2009年6月
【宣传语】
【内容简介】
本书从Windows内核编程出发,全面系统地介绍了串口、键盘、磁盘、文件系统、网络等相关的Windows内核模块的编程技术,以及基于这些技术实现 的输入密码保护、防毒引擎、文件加密、网络嗅探、网络防火墙等信息安全软件的 核心组件的具体编程。主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤 驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及3类NDIS驱动),以及最新的WDF驱动开发模型。有助于读者熟 悉Windows内核驱动的体系结构,并精通信息安全类的内核编程技术。本书的大部分代码具有广泛的兼容性,适合从Windows 2000一直到目前最新的Windows 7 Beta版。
本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解Windows系统底层知识的计算机编程爱好者使用。阅读本书,需要读者有C语言、数据结构、操作系统和计算机网络的基础知识。
《竹林蹊径:深入浅出Windows驱动开发》
09年出版