第502章 试验(二)

肖远在最初设计种子程序的时候.这种情况实际上已经考虑到了.针对这种情况.他专门为种子设计了一个备份器.这个备份器会将种子最近一个稳定版本存储下來.而种子的代码一旦被破坏.这个备份器就会被触发.然后将他存储的正常代码把被破坏掉的代码覆盖掉.从而达到修复种子的目的

六次种子被god破坏.其中五次都是通过上面的方法进行修复的.但是第六次却发生了意外.d在对种子代码段的破坏刚刚开始之时.种子也正好发出代码跳转命令.于是种子的代码被破坏掉了两个字节后就跳转到另外的区域去了

因为跳转命令执行成功.所以备份模块认为种子沒有遭到破坏.因此备份程序的恢复功能沒有被触发.反而备份功能被触发了.备份功能是将此时正常的种子代码拷贝到备份存储器中一份

此时种子程序显然是有问題的.为了防止备份程序采样到这种有问題的程序.当初肖远在设计的时候.给它设计了一个校验功能.这个校验功能会对它读取到的代码进行校验.如果发现有问題.就会进一步判定种子代码出问題了.进而启动恢复功能.使用备份存储器中的正常代码覆盖有问題的代码

这是正常的流程.如果不发生其他意外的话.种子同样会被恢复正常.然而另一个巧合再次发生了.这段被破坏掉的代码实际上仍然是一个二进制字符串.这个字符串和CPU的某一个指令非常巧合的完全一样.以至于它竟然鱼目混珠般的通过了校验.混进了种子程序的代码中

“难道这就是别的代码混入种子的方法吗.”

分析过这段代码后.肖远脑子里产生了这样的想法.同时想到昨晚的试验.除了god和种子之外.还有自动脚本程序也参与了这个过程.使得情况变得更加复杂和不可预测.发生某种巧合的可能性估计比这种情况更大

“很有这种可能.不过种子是怎么进化到找到god的漏洞的.这个恐怕已经不可查了.”

肖远脑中不停的思考着.对种子程序的演化仍然保持着密切的观察.又过了片刻.种子再一次受到了伤害.然后备份程序将刚才混入CPU代码的问題代码覆盖到了种子代码上.要知道.刚才的CPU代码是硬生生的嵌入到种子代码中的.因此.这两个字节的代码并不能很好的和其他代码配合工作.这种情况促使种子的进化器发生了连锁反应.对代码做了进一步修改调整.使之合理化.因此种子的功能发生了有些改变

“进化实际上是由一系列的偶然事件形成的必然结果.”肖远突然有了这样的一个感悟.同时也对这颗种子究竟会进化成什么样子产生了很强烈的好奇.因为事件随机.种子的进化必然也是完全随机的.哪怕一个极其微小的条件变化.都有可能彻底改变它的进化方向.而这种特性正好是混沌系统的具体表现

思考着这些问題的时候.种子的自我调整并沒有结束.终于在某一次的意外发生过后.进化器再次对种子的代码进行了调整.种子内一直沒有运行过得那段入侵god的代码被调了出來.运行了起來

而原來的漏洞早已被肖远堵住了.这段代码的运行结果可想而知.入侵沒有成功.反而因为丧失了一次跳转的机会.被god追上.并对它的代码进行了大量的破坏.种子的生命岌岌可危

PS:纯技术性的章节快沒有了.这种章节写起來太费脑子了