按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
智榭觯紫忍卣髀氲幕袢〔豢赡茉偈羌虻サ娜〕鲆欢未肜矗欠侄蔚模屑淇梢园我獾哪谌荩ㄒ簿褪窃黾恿艘恍┎徊渭颖冉系摹把诼胱纸凇保诔鱿帧把诼胱纸凇钡牡胤剑鱿质裁茨谌荻疾徊渭颖冉希5ゴ康氖褂谜庵址趴砹颂跫奶卣髀胧俏薹ㄗ既返呐卸铣霾《镜摹N蟊ā⑽笊苯嵩龆啵┍室不嵩黾樱蛭庵痔卣鞯某槿⊥耆峭ü樽芙幔簿褪撬嫡烦潭纫览涤诓《痉治稣叩木楹湍持窒忍斓摹案芯酢保佣嗵圆《镜纳弦谥稚踔廖耷钪挚赡芫蔡翁姓业侥芄患虻ッ枋龅墓媛墒欠浅@训摹�
使用广谱特征扫描病毒如果达到实用的程度,必须和一对一的病毒分析相对应,也就是说需要针对某种特定的病毒设计使用广谱特征之前的预处理程序,然后再应用广谱特征断定是不是病毒。至于杀病毒,广谱特征没有任何作用,因为使用简单的带掩码的特征是不可能描述稍微复杂一点的病毒清除算法的。
下面是一个完成基本检测/清除病毒软件系统的基本流程
这是一个非常简单的示意图,实际的杀毒软件结构比他要复杂很多,但是目前先进的的杀毒软件使用的病毒扫描方法和上图基本上都是一致的。
第三节 “石器时代”的反病毒
第四节 “视窗”的挑战
关于视窗的诞生,还有很多有趣的故事,很象一出农夫和蛇的戏剧,当比尔盖茨还远远没有取得今天的市场地位的时候,微软就像一只冬眠的蛇一样等待机会,而那个可怜的农夫当然就是计算机业的老大IBM了。为了开发图形界面软件,当时的IBM和微软决定联合进行开发,他们的项目名称是一个叫做OS/2的操作系统,最早是为了配合IBM推出的新一代IBM 个人电脑:PS/2,OS/2设计的基础是80286,这是第一个重大技术失策,因为80286很快就被80386取代了,另外一个重大失策是选择了微软作为合作伙伴,微软在和IBM虚以委蛇的时候,全力投入了自己的图形界面操作系统视窗3。0,视窗1。0和2。0都很不成功,被一家名字叫作“后甲板”(Quarterdeck)公司的“DesqView”,另外一个图形界面打得头破血流,但是比尔。盖茨的坚韧不拔是任何人都无法相比的,通过对OS/2虚以委蛇,全力进行视窗3。0的开发,视窗3。0终于获得了成功。(还记得微软DOS的竞争者DRDOS吗,很不幸的是,DesqView这个竞争者和DRDOS一样,现在成了免费软件,在网上你可以找到它的可执行程序和源代码,也许这就是和微软作对的必然下场吧,没有市场、没有收入,最后只能开放源代码,免费。DesqView可以在下面的站点找到:clarkson。edu/~vryhofab/wserv/freedv/)。
我记得最早微软的视窗3。0和视窗3。1开始流行的时候,还是1993年左右吧,我还在南京大学写关于某种原子内电子轨道磁矩的毕业论文,记得当时要计算一个49阶的矩阵,本来想做一篇非常酷的毕业设计,为我的计算做一个非常漂亮的演示,于是就想到了当时刚刚开始流行的视窗。
那时候视窗环境下应用程序非常少,最主要的原因是开发Window程序极为困难。基本上,开发Windows3。0/3。1环境下的程序是所有程序员的恶梦。微软的SDK之难用,连最坚强的学习者都有一种要哭出来的感觉(包括我在内),记得微软出了一套Windows3。0 SDK的手册,南大图书馆里有这本书,除了爱因斯坦的《广义相对论》以外,我觉得整个图书馆里面就是这本书最令人头疼了。后来陆陆续续又出了一些关于视窗环境下程序开发的一些书籍,所有类似的书本上面,第一段话必定是告诉你现在你处于一个全新的领域,你要做的第一件事情就是改变自己的思路。。。然后是一堆新的名词和概念,什么消息、什么队列、什么窗口、什么句柄啊,最可怕的就是句柄这个东西了,直到今天我还没有搞清楚到底什么是句柄,是个把手吗,能用手握吗?。
幸运的是,后来有了可视化的BASIC语言(Visual BASIC)和Delphi这两种革命性的开发工具,开发视窗程序一下子简单的难以置信。可视化的BASIC语言应该是提出了一种全新的开发方式,直接可以画出界面,然后就可以执行了,在我的印象中,微软很少能够开发出什么突破性的技术,VB或者是仅有的例外吧。但是由于VB是在BASIC基础上开发的,所以存在很多致命的缺陷,主要是:不能开发比较底层的程序,不能开发非常大规模的程序(由于BASIC语言的结构化不是非常好)、还有就是解释执行而不是编译执行,程序的运行速度比较低。所以在真正开发视窗程序的时候还是不得不选择C/C++语言。当时开发视窗程序的标准工具是微软C/C++版本6和版本7(Microsoft C/C++7。0);在微软的Visual C++出来以前,微软的C++语言编译器是以难用而著称的。所以大部分程序员的选择是宝兰公司的Borland C++3。1,这个编译器附带了一个非常好的类库—对象窗口库(Object Windows Library),可惜的是,Borland C++最终还是没有逃脱和微软做对的宿命,现在的Visual C++如日中天,而使用Borland C++的用户已经越来越少了。
而最早的Delphi1。0版本出来的时候,对于所有的程序员都是一个惊天动地的好消息,那时候我还在南京,盗版软件还没有今天这么流行。差不多是94年左右吧,我专门到了一次中关村,那时候希望电脑还是中国电脑界一个赫赫有名的牌子,在海淀医院的对面,希望公司有一个销售的地方还是总部已经记不清楚了,记得我在那里购买了一套正版的Delphi1。0版本。好像是好几千块钱,在当时是一个非常贵的东西了,拿到手里重重的一个盒子,里面有好多本英文的说明书,回来之后还正正规规的把大部分说明书都翻译成中文,我的英语就是那时候真正得到锻炼的。
在得到Delphi之后,视窗环境下的软件开发就变得非常容易了,简单的画一个窗口,然后在上面放置按钮、列表框、菜单等等,就可以编写出一个完成的视窗应用程序,而且这个程序是可以独立执行的EXE文件,速度很快,不是象VB一样需要解释执行,非常缓慢。更重要的是,Delphi使用了Object PASCAL语言做为基础开发语言,这种语言在简单、优雅的PASCAL语言的基础上增加了面向对象的功能,结构化和工程化非常好,甚至可以适应于大型软件开发的需要。
使用Delphi,我很快就开发出了在视窗操作系统下运行的杀毒软件VRV for Windows和后来的NetVRV。随着视窗95操作系统的出现,宝兰公司又很快推出了可以生成32位应用程序的Delphi2。0版本,这样在视窗95下也可以很方便的开发杀毒软件了。
但是Delphi还是有一点不便之处,就是PASCAL语言和C语言比较起来毕竟不是那么常见,而视窗操作系统本身是使用C语言开发的,使用PASCAL语言在调用的时候总是有一点点不方便之处,宝兰公司可能也发现了这一点,所以很快又推出了以C++语言为基础的视窗可视化开发工具—宝兰 C++构造者(Borland C++ Builder),很快,我们就从Delphi转移到C++ Builder上,并开发出了最早的病毒防火墙软件。
现在的选择就更多了,除了简单方便的C++ Builder和Delphi以外,Visual C++也成为一个不错的选择,微软在经过长时间的改进之后,总算让他的Visual C++成为可以和C++ Builder竞争的选手了,虽然从开发的方便程度上还是有所不及,但是从对操作系统的熟悉程度上,已经整体的稳定性上,微软利用自己同时开发操作系统的便利,比起宝兰公司还是要占有一点点优势的。
下面是视窗环境下开发工具的变迁
第五节 警惕的哨兵—病毒防火墙的诞生
在1997年的时候,出现了病毒防火墙技术。实际上病毒防火墙是一个通俗的名称,真正严格的方法应该把这种技术叫做“文件系统实时监视技术”。这一技术在国内首次提出的荣誉无疑应该归功于南京信源自动化技术有限公司。
一九九七年三月,中国。江苏,南京,当时微软的视窗3。1操作系统刚刚开始流行,视窗95才出现的时候,在南京解放路上一栋两层的小楼房里,南京信源公司的办公室里,一群初出茅庐的年轻人,正在讨论最新的视窗操作系统,议题集中在两个方面,一个议题,是不是需要在视窗95环境下开发杀毒软件,另外一个议题是,能不能在视窗操作系统下面