第502章 试验(二)(1 / 2)
原因找到后,肖远将钻进god程序代码段隐藏起来的种子抓了出来,却没有对它的主体进行修改,但是为了便于观察,肖远在种子进化出的代码的基础上,给它增加了一个监视模块,并将这个模块的规则设置成必须存在,这样做是为了防止种子在继续进化的时候,将这个模块给破坏掉。
将种子改造完之后,肖远将被破坏掉了的god程序恢复了正常,并将种子发现并利用的那个漏洞给打了补丁,但是为了验证他的想法,他在将漏洞堵掉的同时,有刻意的加入了另一个漏洞。
搞完这一切之后,肖远运行了god程序,一个初始状态的世界被创造了出来,种子随后被放了进去,静态平衡瞬间被打破了,god和种子之间的新一轮对抗开始了。
因为这次放进去的是进化后的种子,god监控程序绘制出来的图像上能够看得出来,它在进到世界之后,比起最初的版本进去后对god的围追堵截疲于应付的情况来,显得轻松自如的多,以至于世界内只看到种子在快速的到处移动,所到之处,引起的波澜却小了很多,而在它离开后,原本激荡的波澜也不会持续多久,就快速平息了下来。
肖远没有去过多关注这个图像,他将这个监控程序扔到了后台,将刚刚植入种子的监控模块调了出来,这个模块会将种子程序的每一步操作记录下来,并将之存储成一个标准的记录文件。
为了减少种子的代码长度,肖远设计的种子的监控程序记录下来的操作是二进制机器码,因此他如果想要阅读这些操作,还需要进行进一步转换,这个转换肖远用到了另外一个分析工具,这个分析工具读取记录文件,并实时将每一步操作反汇编成汇编程序显示在他的一个侧窗口中,而汇编语言虽然读起来不如高级语言那么清晰,但是阅读汇编语言对于肖远来说,并不是什么难事。
仔细观察着这些汇编代码,肖远发现种子在进入世界后,并没有马上去入侵那个已经被肖远堵住的漏洞,而像是在适应着环境,很长一段的汇编操作,都是利用汇编的跳转命令,在内存空间跳转,跳转,再跳转,不停的变换着自己的方位。
当然在变换方位的时候,它还做了其他一些操作,其中最让肖远感兴趣的是它在转移后对原来现场的清理,肖远在编制这个程序的时候,给出的设定规则是,当种子利用跳转命令从一个内存区域离开的时候,它在原来区域造成的不平衡会弃之不顾,恢复平衡的工作完全交由god程序来完成,这种策略就像一个旅游者在某一个地方制造了一堆垃圾,离开时完全不理会,清理工作将会有景区的清洁工来完成。
但是现在的情况是,这个旅游者好像变得文明了,他离开之前,将垃圾清理,甚至还帮着将他弄乱的环境给恢复了原状,种子跳转离开后,会将他原来搞得失去平衡的区域重新恢复平衡。
看到这里,肖远将这种情况和god监控程序显示的情况进行了对比,发现两者是一致的。
种子为什么会进化出这样的功能出来,肖远有些想不通,他以人类的思维考虑了一番,觉得如果他要是到了一个地方,被这个地方的人追杀,为了顺利逃脱,他一定会竭尽所能将这个地方彻底搅乱,而不是反其道而行之。
这样的情况持续了一段时间,情况开始有了变化,种子每过一处都会自己清理现场,必然会耗费一定的计算时间,反过来说,也给god节省了大量的计算时间,此消彼长间,种子有六次被god都被god将代码段给破坏掉了。
↑返回顶部↑