重生小说网 > 科幻小说 > 黑客传说 > 第218章 HD病毒(二)
    许毅见还有几个人(没有参加虚拟机编写计划的)对这个并不了解于是便耐着性子给他们讲解起来……

    虚拟机顾名思义虚拟的机器。其核心思想是用软件来模拟硬件。它作为原操作系统下的一个应用程序可以为运行于其上的目标操作系统创建出一部虚拟的机器目标操作系统就像是运行在单独的一台真正的机器上一样丝毫察觉不到自己处于虚拟机的控制之下。在一个成熟的虚拟机中完全可以模拟整个计算机开机、启动、运行、关机等过程。按下电源键(poeron)窗口中也会出现机器自检的画面接着是操作系统的载入一切都和真实的一模一样甚至还有专门的一套bios来处理各种i/o中断。而实际上他们只不过运行在一个虚拟的平台上而已表现在真实的操作系统中它只是系统中的系统只要硬件配置足够高这样的系统可以运行很多个就像应用程序那样多线程互不影响互不妨碍。在虚拟机中运行的应用程序认为自己独占整个机器它们相信自己是从真正的键盘和鼠标获得输入并从真正的屏幕上输出它们甚至认为自己完全拥有netbsp;例如虚拟机中操作系统的硬盘是最外层操作系统中的表现通常是一个文件这个文件是模拟硬盘虚拟机中的操作系统要进行文件的读取的保存操作实际上只是在这个文件中进行----在这个文件中格式化、分区、建立和删除文件等。

    因为这个平台是软件的是能够通过程序员编程而控制的所以在虚拟机中无论是操作系统的运行还是应用程序的执行所有过程都是可跟踪和可观察的。程序员可以随时观察虚拟的cpu各个寄存器的状况和跟踪内存中数据地交换----这是一个多么奇妙的功能!编写操作系统的时候最令程序员头疼的就是各种各样千奇百怪不可预期的bug一不小心就会导致cpu挂死(死机)。而这个时候根本没有任何有效的手段来得知那个时候cpu中的状态到底是怎么样的为什么会生这种情况?所有的这些仅仅通过程序员来推测、来估计几乎是不可能的。所以虚拟机往往被用来编写操作系统。

    许毅最开始动心思编写虚拟机就是因为这个原因。后来由于实在是太过复杂转而去编写了一个比较简单的。这也就是“生死斗”平台的前身。

    “啊原来还有这样的好东西!”一个刚刚加入团队学习的新人惊叹道“那样的话我们岂不是只要将病毒程序创建一个虚拟的执行环境提供它可能用到的一切元素包括硬盘端口等让它在上面自由挥……而我们则慢慢跟踪最后根据它的结果来判定其运行机制就可以了?”

    好几个人深以为然地点了点头。当然这些人都是没有参加过虚拟机开的。

    小黑听完之后苦笑道:“理论上是行得通的不过实际操作起来就没有那么容易了。”

    许毅说道:“小黑说得不错一个完整的虚拟机的开是一个非常庞大的工程并不是说想开就能开出来的。在里面需要模拟的元素太多了单单只是做虚拟机就已经非常困难了再加上一些其他判断其行为分析甚至还要借助于人工智能理论。”

    “那……你们编写的那个不是虚拟机吗?”好问的新人再次问道。

    “当然是虚拟机!”小黑反驳道之后他又说道“不过不是你认为的虚拟机罢了。严格说来叫它为虚拟cpu更为准确一点或者说是通用解密器不过大家都习惯称之为虚拟机。”这个项目是许毅一手策划的其中很多东西都进行了简化要不然现在肯定还完成不了。

    “那怎么办?这个虚拟机有没有用?”

    大家听到这个问题纷纷将目光看向了许毅。

    “当然有用。那个虚拟cpu已经足够用来做分析了当然还要一些辅助手段你们有兴趣的话就在旁边看看吧。”许毅有心让他们见识一下也不介意他们在旁边观看。而现在他关心的是这个病毒到底是不是cih病毒从中毒的症状来看和那个病毒很相似不过许毅又不能确定毕竟按照历史cih目前还没有出现。难道因为他的出现陈盈豪接触计算机的时间也提前了?许毅不能确定的原因有两点先盈豪现在应该还有努力学习计算机技术中因为他接触计算机的时间很晚是因为上网之后频频被病毒困扰而反感于那些杀毒软件的无用才下决心编写cih病毒恶作剧的。另外一点就是cih病毒的爆日期是4月26日那是他的高中座号也是他的绰号。而这和这个神秘病毒爆的时间不吻合。

    在大家的强烈期待之中许毅开始了病毒的分析破解工作。所用的主要工具就是小黑他们刚刚编写出来的虚拟cpu它可以像真正cpu那样取址、译码和执行可以模拟一段代码在真正netbsp;许毅将获得的病毒样本输入这个虚拟机中病毒的代码说穿了一二就是一组机器的序列最终还是要通过cpu才能执行而现在有了这个虚拟机许毅就可以一步一步来跟踪这种病毒的行为。

    在跟踪之前许毅还对这个新完成的虚拟机进行了一番组装将几个常用的工具组合到了一起这样他就可以随时暂停虚拟cpu的运行查看各个寄存器中的数据以及查看虚拟内存地址中的数据。组合中所涉及到的接口是许毅在最初设计的时候就已经考虑到的所以现在做起来并不复杂很快就弄好了。其他在旁边围观的人只有少数几个看得懂许毅在做什么。

    病毒开始执行虚拟机自动从机器码序列中取出第一条指令操作码部分判断操作码的类型和寻址方式确定这条指令长度之后便在相应的函数中执行它接着又根据执行后的结果确定下一条指位置……这个过程在反复循环着指令计数器一直在增长许毅的眼睛则一刻也没有离开寄存器现实框观察着里面的数据手中则根据那些数据不停地调节着时快时慢……一会儿之后病毒头部入口处的解密子便完全执行完毕接下来的过程便将是通过得到的控制权的解密代码对已经加密的病毒主体进行循环解密----这正是变形加密病毒的特征。而这个时候许毅也没有现任何有用的信息不能确定这是否就是netbsp;“反病毒安全部”的那些家伙都屏气凝神眼睛一眨不眨地观察着许毅的一举一动他们只看到许毅此刻的神情非常的专注全身心地投入分析过程中显示器中眼花缭乱的数据像瀑布雨一样往上不停地刷着……外行看热闹内行看门道。看不懂的新人只觉得这个情景非常酷帅极了颇有科幻电影中黑客情节的意味伴随着这种想法的自然是对许毅更加佩服和崇拜。而以小黑为的这些能看懂一些操作的心中的震惊远比那些新人来得要大。准确而迅地设置断点跟踪调试……一系列眼花缭乱的动作让他们大开眼界而最让他们震惊的是在这些动作的背后得要多快的思维度!要知道那些操作可不是简单的执行一下就行了这其中还涉及到很多计算病毒编写者在加密的时候还会设置各种反追踪手段和措施竭力阻止破解。这些操作只要其他有一个操作不当就会陷入死胡同得重新开始而现在许毅竟然就这样流畅地运行下来了!这不得不让他们感到难以置信!

    现场静悄悄的只有许毅击键的声音。

    “快了快了……”许毅在心中说道。解密过程非常顺利连他自己都感觉有点意外现在的他对这些数简直变得再敏感不过了一看就通甚至成了本能的反应一样。相信再过几分钟他就可以完全将这个病毒破解。

    指尖在键盘上跳舞----这就是在场的所有人现在的感觉。他们看到许毅的手指越来越流畅轻快地迅敲击着黑色的按键甚至连击键的声音也开始带有一定的节奏。

    “嘀----嘀----”

    正在这时房间里面突然传来了刺耳的报警声把大家吓得够呛!几乎所有的心脏都猛地跳了一下连带着身体也有很小幅度的动作包括许毅他正沉浸在一种非常玄妙的状态当中突然来了这么一下他的手指不由得一抖一下按错了……