第502章 试验(二)(2 / 2)
六次种子被god破坏,其中五次都是通过上面的方法进行修复的,但是第六次却发生了意外,这次意外源于时间上的巧合,god在对种子代码段的破坏刚刚开始之时,种子也正好发出代码跳转命令,于是种子的代码被破坏掉了两个字节后就跳转到另外的区域去了。
因为跳转命令执行成功,所以备份模块认为种子没有遭到破坏,因此备份程序的恢复功能没有被触发,反而备份功能被触发了,备份功能是将此时正常的种子代码拷贝到备份存储器中一份。
此时种子程序显然是有问题的,为了防止备份程序采样到这种有问题的程序,当初肖远在设计的时候,给它设计了一个校验功能,这个校验功能会对它读取到的代码进行校验,如果发现有问题,就会进一步判定种子代码出问题了,进而启动恢复功能,使用备份存储器中的正常代码覆盖有问题的代码。
这是正常的流程,如果不发生其他意外的话,种子同样会被恢复正常,然而另一个巧合再次发生了,这段被破坏掉的代码实际上仍然是一个二进制字符串,这个字符串和cpu的某一个指令非常巧合的完全一样,以至于它竟然鱼目混珠般的通过了校验,混进了种子程序的代码中。
“难道这就是别的代码混入种子的方法吗?”
分析过这段代码后,肖远脑子里产生了这样的想法,同时想到昨晚的试验,除了god和种子之外,还有自动脚本程序也参与了这个过程,使得情况变得更加复杂和不可预测,发生某种巧合的可能性估计比这种情况更大。
“很有这种可能,不过种子是怎么进化到找到god的漏洞的,这个恐怕已经不可查了。”
肖远脑中不停的思考着,对种子程序的演化仍然保持着密切的观察,又过了片刻,种子再一次受到了伤害,然后备份程序将刚才混入cpu代码的问题代码覆盖到了种子代码上,要知道,刚才的cpu代码是硬生生的嵌入到种子代码中的,因此,这两个字节的代码并不能很好的和其他代码配合工作,这种情况促使种子的进化器发生了连锁反应,对代码做了进一步修改调整,使之合理化,因此种子的功能发生了有些改变。
“进化实际上是由一系列的偶然事件形成的必然结果。”肖远突然有了这样的一个感悟,同时也对这颗种子究竟会进化成什么样子产生了很强烈的好奇,因为事件随机,种子的进化必然也是完全随机的,哪怕一个极其微小的条件变化,都有可能彻底改变它的进化方向,而这种特性正好是混沌系统的具体表现。
思考着这些问题的时候,种子的自我调整并没有结束,终于在某一次的意外发生过后,进化器再次对种子的代码进行了调整,种子内一直没有运行过得那段入侵god的代码被调了出来,运行了起来。
而原来的漏洞早已被肖远堵住了,这段代码的运行结果可想而知,入侵没有成功,反而因为丧失了一次跳转的机会,被god追上,并对它的代码进行了大量的破坏,种子的生命岌岌可危。
ps:纯技术性的章节快没有了,这种章节写起来太费脑子了。
↑返回顶部↑