友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
飞读中文网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

重生之王牌黑客-第373章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



“以前那么多危险我都度过了,这地肯定也不会有事的,放心好了。”肖远安慰了夏九滢一句。
“总之还是小心一些为好,万一你要是有个什么好歹,我可怎么办呢?”夏九滢握住了肖远的手,低垂眼睑,轻声说道。
“为了你,为了我们的未来,我也不会让自己有事的,我的命很硬的,凡是要找我麻烦的,都不会有什么好下场的,池翔如此,王俊鹏如此,这次敲诈我的家伙,也一定会如此……”肖远将夏九滢轻轻抱在了怀里,继续安慰道。
“嗯。”夏九滢在肖远怀里扭了扭身子,找了个更加舒适的位置,轻轻闭上了眼睛,像一只猫咪一样,不再说话了。
……
下午,肖远回到学校,就径直去了实验室,他昨晚放养的种子这会儿还在运行,运行了十几个小时,他现在迫切想知道,种子究竟变成什么样子了。
回到实验室后,肖远坐到了电脑旁,打开关闭着的显示器,登录系统后,god程序的监视图像出现在了眼前,上面的情形让肖远感到有些意外,因为这时的图像显示,整个空间的0和1分布并不平衡,但是图像却是静止的,也就是说,god没有再对他的世界中出现的失衡进行调整。
肖远心中疑惑,但是图像变成了静态,什么也看不出来了,他只能另想办法,当时他准备的监控手段中,图像仅仅是其中一种,除此之外,还有一些非图像,但是更详细的记录方法,比如系统日志,以及内存采样等。
系统日志记录了god程序操作步骤,而内存采样则是按照一定的时间间隔,定时的将世界的内存数据原封不动的存成文件保存下来,留待查阅。
肖远首先查看了系统后台,看到临走之前编写的脚本文件仍在运行,而god的世界却没有动静,这说明god程序要么是不再接收脚本文件发送给他的命令了,要么是因为某种原因,在接收到命令后,却没有执行这些命令,无论哪种情况,都很不正常。
所以,肖远需要先确定究竟是上面的那种情况,分析这种情况并不需要太多时间,很快肖远就得出了结论:god程序仍然在接收着脚本文件发送的命令,但是因为某种原因,接收到这些命令后,却拒不执行了。
“为什么会不执行了呢?”肖远心中疑惑,将自动脚本结束掉之后,打开了god的系统日志,直接翻到了最后一条,发现这一条的时间是凌晨三点十二分三十一秒,而他是昨晚十点半离开,也就是说,在他离开四个多小时后,god就开始出现问题了。
“究竟发生了什么事情了,为什么会出问题?”
肖远对god的系统日志仔细分析了一番,每一条日志单独来看,都属于正常的操作记录,并没有什么异常,但是将最后的几条日志联合起来观察,肖远还是从中发现了一些异常地方,那就是最后几十条日志的间隔时间越来越小,也就是说,god在这一段时间里,操作的频率越来越高,甚至到了最后四条日志,时间竟然都是03:12:31,这并不是说这四条日志记录的操作是同一时间进行的,因为肖远设定的日志记录间隔是以秒为单位的,一秒之内出现四条日志,说明有四个操作是在一秒钟之内发出去的。
盯着电脑屏幕上的日志,肖远眉头紧锁着,思考片刻后问了问实验室里的管理员,确认了自己离开这段时间,电脑没有人动,进而排除了外界干扰的可能性,最后他把内存采样文件调了出来。
内存采样的指的是,每隔一定的时间,就将god开辟的世界内存空间的信息原封不动的克隆下来,存到一个文件中,肖远在实现这个功能的时候,并没有完全依赖god程序,而是从操作系统层级来完成的,之所以这么做,就是考虑到god程序万一要是出现状况失灵了,他还有最后的追查手段,不至于无计可施。
内存采样文件是一个以十六进制形式存储的文件,肖远将之打开后,仍然是从文件最后开始查看,最后记录下来的内存数据的时间是一分钟前,从这个时间来看,内存采样的工作仍然是正常的,并没有出现太大的问题。
内存数据有好几个g,因此分析的工作量非常大,即使是利用分析工具辅助,也是一件极考验人的耐心和经验的工作,如果没有合适的工具。
为了尽快找到结论,肖远对整个分析过程进行了一番规划,分成了三个阶段。
他首先利用工具,从内存采样文件末端向前,倒序截取了一百个采样样本,对这些数据进行对比分析,分析结果表明,这一百个内存采样数据是完全一样,这种情况和god的监控程序绘制出来的静态图像是一致的,由此可以推断,god程序在从一个特定的时间开始,已经不在对他创造的世界的数据进行修改了。
确定了这个现象之后,肖远要做的就是找到god程序出问题的时间点究竟在什么地方,而根据系统日志判断,最有可能的时间点就是03:12:31,所以,第二和第三个阶段,肖远从这个时间的内存采样数据开始,分别向前和向后截取了一百个采样样本,利用工具进行对比分析。
经过一番仔细的比对的分析后,肖远果然从中发现了一些情况,这些情况却是大大的超出了他的意料,更是给了他一个大大的惊喜。

第501章 分析代码

肖远发现问题,是在对03:12:31以后的数据包的分析过程中,这时不同的数据包并不完全相同,说明世界还没有完全静止下来。
分析工具一边比对每一次的内存数据样本,一边将这些数据以图表的形式展示出来,便于肖远更直观的观察这些数据的变化特征,只不过因为分析数据要花费一定的时间,所以,图像的变化比起god程序的监控图像来,变化慢了很多。
因为这里的图像和god监控程序的显示原理一样,所以显示出来的图形也与那里的完全相同,刚开始的时候,图像上一个与其他地方有着明显分别区域在缓慢的四处移动,肖远知道这个漩涡是种子的代码在世界中的映像。
看着种子的映像仍然存在,肖远想起第一阶段的分析中,那些不再发生变化的内存影像中,好像种子不见了。
“它难道被抹杀了?”肖远盯着电脑屏幕上的分析过程,心中暗暗思忖,“不应该的,如果种子被抹杀的话,god应该会很快就将世界的平衡恢复,但是事实是没有恢复,这其中一定发生了什么我没有想到的事情。”
“咦,怎么回事?”正在思考的时候,肖远发现原本在图像上还十分明显,一眼就能分辨出来的种子突然消失了,接下来图像又变化了两帧,就静止了,既没有继续恢复平衡,也没有因为不平衡而继续变化下去。
肖远暂停了分析软件,从图像静止下来的时间点提取了一个内存样本,拿来和最后的内存样本文件进行了对比…完全一样。
“种子突然消失了,然后god也不工作了,有点儿像同归于尽。”
肖远再次回放了刚才的图像演变过程,瞪大了眼睛盯着屏幕上的图像,想要看清楚在图像消失的一瞬间,究竟发生了什么,但是却一无所获。
于是他干脆不让图形自动运行了,而是手动让这些图像一帧一帧的出现,仔细观察,在图像消失的上一帧停了下来,仔细观察了一下,仍然是没有发现什么问题,于是他将这一帧的内存样本提取了出来,从中将种子的代码单独提取了出来,对其进行了反汇编。
得到种子程序这一时刻的汇编程序后,肖远发现得到的它和种子未放入世界进行进化之前的程序相比,已经发生了很大变化,阅读时给他的感觉就像在阅读一段全新的程序一样,要知道这个程序根本就是出自他手。
“看来种子真的自我进化了,只是它为什么会自动消失呢?”肖远努力在代码中寻找着种子自动消失的痕迹。
将程序通读了一遍,肖远发现进化后的种子程序无论是长度还是复杂性都增加了很多,其中存在一段奇异的代码。
“这应该就是种子能够突然消失的原因了。”肖远觉得自己似乎已经找到了答案,但是这段代码很晦涩,难以理解,这让他感到有些受伤。
“见鬼了。”肖远不由得骂了一句,然后反复读了几遍这段代码,并将其中涉及到的寄存器,以及寄存器之间的数据流向绘制成了图像,并找来一本这台工作站的cpu编码的详细手册,一点一点儿加以对照不等你说爱我。
所谓读书百遍,其义自现,程序也是如此,反复读过几遍后,肖远越来越觉得这两端程序有些非比寻常,并有种隐隐的预感,读懂这两端程序将是他解开种子程序以及god程序反常表现的关键所在。
终于,肖远从这些代码中找到了最关键的逻辑,却被他的发现下了一跳,甚至有些难以置信,因为这段代码竟然用一种很巧妙的方法完成了一个远程跳转,跳转到目的地已经超出了god创造的世界的内存范围,它所使用到的指令竟然是工作站cpu的一段特殊的指令序列,而这段指令肖远事先根本就不知道,更不会写到程序中。
肖远心中疑惑,如果不是他有非常丰富的阅读代码的经验,手边又有cpu指令集的详细资料可查,这段代码究竟是干什么用的,就算他读上一百遍,恐怕也不会知道的。
“只是种子程序的代码里怎么会有这样的代码段了?”
肖远对这个现象倍感不解,觉得不把这个现象搞清楚,会很不甘心,于是他再次将没有反汇编之前的种子二进制代码拿了出来,决定从二进制代码入手,试试能找到什么端倪不能。
直接阅读二进制代码显然是不可行的,好在肖远手里还有另外一个工具,这个工具的界面分成左右两栏,左栏是二进制代码,右栏是二进制代码对应的汇编代码,两边对照着阅读,就不是那么困难了。
可惜这样反复读了两遍,肖远还是没有发现什么规律,随即意识到自己的研究思路有点儿问题,种子的这段程序一定是进化而来的,也就是说它的代码本身也是在不断演变的,自己这样静态的看,本身就有问题。
既然意识到了问题,肖远马上改变了策略,将多
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!