登陆注册
35394700000203

第203章 缓冲区溢出攻击

墨莫走向内存大楼二楼的一个房间。从深海脑魔的记忆里知道,这个房间有一个重启这台计算机的地方。

毕竟,外界的情况是复杂的。在一些极端情况下,锁存器中的值会发生反转,也就是原本储存着0,结果变成了1,或者反过来1变成0。

一旦在处理器一些比较重要的寄存器中出现这种情况,那就会死机。

设计者也预料不到会有哪些情况会使这台机器死机,如果出现这种情况,那就需要重启。

在深海脑魔控制这台计算机几个世纪的时间里,它就有上百次自行重启:内存里所有的数据全部丢失,然后对面大楼里的指令寄存器从最初的内存单元开始执行。魔法水晶硬盘里储存的各个程序重新被调出,计算机重启完毕,恢复对机关城的控制。

每次出现这种情况,深海脑魔就会丢失对这台机器的控制。需要等待时机——只有等到机关城内出现紧急情况,需要机关兽出动时,通信程序才会被重新加载入内存,它才能重新夺回系统控制权。

除了自行重启之外,这台机器还可以手动重启。不过,是需要密码的。

这个房间里面也是一样的黑石、魔晶石、水晶线路构成的运算单元。

在房间外有一个黑石方台,台子上有四横四纵16个按键,被一个魔法水晶盖子盖住。

“你想重新启动这台机器?哈哈哈……你这是自寻死路!”深海脑魔自以为看出了墨莫的意图,它在墨莫脑海中的声音显得很高兴:

“看到角落里那堆黑石了吗?”

墨莫看到了,黑石控制台前面确实有一堆破烂不堪的黑石,然后墨莫等待着它的下文。

“那是我控制的黑石机关兽!”深海脑魔说道,

“我控制它来到这里,输入密语,但是合上盖子的瞬间,这个房间里闪烁一阵红光,它就这么碎了,我承认你的精神力很强大,法术也很强大,但是在这儿,你就是个渣!如果你输入了正确的密语,确实可以让我暂时失去控制这台机器的能力,但你要是输错了……哈哈哈!”

对于深海脑魔的叫嚣,墨莫理都没理。脚步没停,走到控制台前。

观察着上面的16个符号。这些符号就是古代林荫人的字母。他们的文字都由这16个字母所组成。估计也正是因为他们的字母正好有16个,才创造般的想到了这样一台计算机的实现。

在这台计算机中,一个基本数据单位也是16个比特。没有字节,只有字。内存上的程序和数据,也是以每16比特为一个单位的。

所以,墨莫猜测,这16个按键,很有可能表示从0到F的16进制数。

按照正常的工作程序,这个控制台是这样工作的:

首先,控制者打开水晶盖子,然后输入密码,再合上盖子,如果输入的密码正确,那么计算机重启;如果不正确,控制台前的那堆黑石碎片,就是下场。

只有一次机会。

但是墨莫从一开始就没打算输入密码重启它,墨莫打算彻底控制这台计算机,就用这16个按键!

经过观察,这台计算机,虽然结构与地球上的同类有所不同,但是基本执行原理还是相同的。

对面处理器大楼里有三个重要的寄存器,分别是指令指针IP,基址指针BP,栈顶指针SP。

其中,IP里面存着的16位二进制数字,永远是需要执行的下一条指令的地址。它是计算机最重要的寄存器。只要控制了IP,那么就控制了这台计算机。

当墨莫打开水晶盖子的时候,计算机首先会把接收这个控制台输入密码的程序调入内存,并把控制权移交给它。

怎么移交呢?

当然就是先把IP的值存入缓冲区,然后再把新程序在内存的位置交给IP。这样就完成了计算机控制权的移交。接下来IP就会从新位置取出指令执行,这些指令就是新程序的指令了。

为什么要先把IP的值压入缓冲区呢?当然是为了,在执行完了新程序之后,能够从缓冲区里取出这个值,IP回到调用新程序之前的地址,接着执行旧程序。

也就是重新将计算机控制权交还给深海脑魔。

BP和SP里面的16位二进制地址,是当前正在执行的程序,它的数据储存在内存中的范围,被称为缓冲区。缓冲区在内存中的位置,距离当前正在执行的位置,很远很远。此刻IP指向二楼,而BP和SP,指向四楼。

当新程序被调用,它的数据的开头位置,也就是BP也会被保存起来,以便执行完了新程序,能够找到这些数据。

这就是一个程序从打开,到关闭的基本过程。

【米娅,把这些符号给我换成数字,我看着眼晕。】

墨莫眼中的16个林荫文字母变成了0到F的十六进制数字。

墨莫一下子打开了水晶盖子。

下一刻,四楼的缓冲区首先发生了变化。BP的值被压进缓冲区保存,SP的值向下移动一格。

然后,对面大楼里,BP的值变成了和SP一样的值,此刻,旧程序的缓冲区,被封在了它俩上面。

下一步,四楼,IP的值被保存,SP再向下移动一格。接着,新程序被加载进了二楼的一段内存中。

对面处理器大楼上,IP的值发生了变化,新的IP值正是新程序所在的二楼位置。

最后,为了储存新程序的数据,也就是墨莫即将输入的密码,SP再向下移动了整整六百格!

然后计算机停下了,等待着墨莫的输入。

墨莫想都没想,瞅准最后一个按键,也就是F,不停的按。

米娅在心灵网络中不停的计数:【1,2,3……】

随着墨莫的输入,四楼内存里,那六百格的数据,从下到上,一格接着一格开始依次变为整整齐齐的FFFF、FFFF……

墨莫就这么一直输入,不停的按,四楼的FFFF一直向上延伸,距离那几个保存着寄存器数据的位置,越来越近。

直到,墨莫按下第六百次,抬头看了一眼,透过透明的魔法水晶,清楚的看到,在四楼缓冲区里,整齐的FFFF前面,就是保存的旧程序的IP值。

【米娅,那里的地址是多少?】

米娅:【经过计算,是DF19。】

墨莫点点头,不再输入千篇一律的FFFF,而是接着输入:DF1A……

当墨莫输入的时候,四楼的缓冲区,那保存着旧程序的IP值的那一格,被墨莫输入的数据覆盖掉了,直接变成了DF1A。

前面说过,这台机器的各个程序没有权限高低之分,IP的值在内存的哪里,那么那段内存上的程序就完全享有计算机的所有操控权。

墨莫此刻这个输入程序,那就是最高程序,输入什么,就一定会在内存里写什么,不管前面是什么东西,统统会给覆盖掉。

在覆盖掉旧程序的IP值后,墨莫根据解析出的CPU指令,开始在后面的内存空间中写程序。

这上面大概还有1MB的内存空间,对墨莫这种级别的程序员来说,甚至都可以做一个操作系统了。只见墨莫手指飞快,不停的在16个按键上按着。

四楼那原本是缓冲区的位置,也被飞快的改写着。

旧程序的IP值被覆盖,然后是旧程序的BP值被覆盖,然后是旧程序的数据被覆盖,乃至上面的更旧的程序、更上面的更更旧的程序的数据,纷纷被墨莫输入的代码覆盖。

直到,墨莫一直写到了内存的终点。

然后,墨莫手扶着这个操作台的水晶盖子,轻轻的合上了。

深海脑魔触手上的眼睛猛然睁开,恶狠狠的盯着墨莫,它好像看到了,下一刻,墨莫就会被那里的机关融化!

在墨莫合上盖子的那一刻,位于内存大楼二楼的这个程序,终于执行完毕。

内存大楼四楼缓冲区,DF19位置的内容,被传送给对面处理器的指令指针寄存器——IP。

正常情况下,按照机器的执行顺序,这个值就是旧程序的代码在内存二楼的位置。IP将执行位于那里的旧程序,也就是将计算机的控制权还给深海脑魔。

然而,这个值,早已不再是原来那个值了。它被墨莫替换成了——DF1A。

DF1A就是DF19的上一格,而那里的程序,不就是刚刚墨莫写的那些代码吗?

于是,机器开始忠实的执行墨莫输入的代码:

第一步,建立权限系统,只有特定代码前缀的程序,才可以被执行,否则就是无效的。

第二步,运行控制台输入程序,使得墨莫可以通过这个控制台继续编程。

深海脑魔等了几秒,等着墨莫被那个机关融化,然而那控制台的机关毫无反应。

不仅如此,它还发现,那个每次和它的牢房交换信号的程序,不见了!自己再次与这台机器断开了联系。

‘难道他成功了?’深海脑魔暗暗思索,‘怎么可能?他按了那么多下,怎么可能有那么长的密码?就算有,他又是怎么知道的?’

如果这使它困扰,那接下来发生的事,就让它感到恐惧了。

下一刻,关了它几百年的牢笼,这个魔法水晶构造的房间,在一声轻响过后,慢慢打开了……

同类推荐
  • 末世之邪王血歌

    末世之邪王血歌

    身为人族,却拥有黑暗血统。不知自己身世的少年,游走在人类与恶魔的边缘。若堕落为魔是他注定的命运,那他也要将命运踩在脚下,非人非魔是为邪!以邪称王!以血谱写新王的颂歌!
  • 强者归途

    强者归途

    灾难过后,人类团结一致消灭丧尸。但是接踵而来的不是和平,而是变异动物,变异植物,还有未知的威胁……这次还能挺过吗?
  • 时间悬崖

    时间悬崖

    每次走在路上,相同的道路出现不同的回忆,不同的地方出现相同的想象。在绝对黑夜下我总能看到每个断点之间的涟漪,当我内心鸣响起一段嘹亮的歌曲,身旁的众人就脱口唱起,闪身闯过碎片,莽荒中真理彼岸的曙光绽放,跃身而至却是时间的悬崖。“滴答...滴答...”
  • 枭龙崛起

    枭龙崛起

    人类的感知是三维的,但并不意味着这个宇宙就是三维的,我们身边也许就存在着另一个崭新的世界,我们感知不到它,但它确实存在着。在远古时代人类便通过自身的‘修炼’找到了通往多维空间的方法。但是他们并不把这个叫做‘多维空间’,而是起了一个更容易为民众所接受的名字——欧洲叫‘天堂’,华夏称之为‘仙界’。
  • 时崎狂三之跨时空

    时崎狂三之跨时空

    时钟之眼,崎岖之路,狂我之心,三世轮回。一段跨越时空的爱情,一场时空轮回的战斗。你以为你活着,其实你早已死去。你以为你赢了,其实你一败再败。你以为你知道,其实你一直遗忘。这是一个以时崎狂三为女主的时空轮回,爱恨情仇,厮杀筹谋。
热门推荐
  • 英雄联盟全息世界

    英雄联盟全息世界

    2010年,刀剑神域公司发明了全息游戏头盔,2050年美国riot公司正式发布英雄联盟全息游戏,一时间全球轰动。想体验一下吗?那就快来吧!
  • 世界体系霸主

    世界体系霸主

    世上最强大的力量是想象力,我们正生活在一个被想象力主宰的世界。世界上有一群被称为“启梦者”的人,无论是普通的凡人还是强大的武者们,一旦觉醒启梦者的血脉,将会获得创造属于自己的“世界体系”的机会。赵宇因为长期陷入奇怪的梦境,在机缘巧合之下觉醒了启梦者血脉,作为网络作家的他竟然以自己创作的小说世界为基础创造了属于自己的“世界体系”,从此以后,赵宇踏上了改造世界的争霸之旅......
  • 动物的愤怒

    动物的愤怒

    不一样的2012,不一样的世界末日,领你进入不一的动物世界。
  • 八荒绝临

    八荒绝临

    天赋修炼之能,大千世界精彩纷呈。我辈修行者,踏苍天大地,修自身之道。三千大道,殊途同归,而最终登凌绝顶的,终究是一颗强者的心。
  • 灿白Stranger

    灿白Stranger

    人生真的撕心裂肺不是分离,也不是你身体承受多大的痛楚,而是你内心那种无声的哭泣,那种不甘与悔恨,悔恨自己的无能为力,更悔恨自己的的委屈换来的冷眼旁观
  • 30几岁,决定女人的一生(健康版)

    30几岁,决定女人的一生(健康版)

    俗话说“三十而立”,30几岁的男人和女人正值人生的好时候,集精力、体力、经验和才智于一身,事业上也开始渐入佳境。然而,在快节奏的现代社会中,30几岁的男人和女人需要面对来自家庭、事业、朋友、金钱、社会的多重责任和压力,却又往往力不从心。从生理上说,30几岁这个年龄段,人的身体机能和健康状况亦开始呈滑坡状态。本套书的编写即迎合了这个年龄段人群的需要,让读者善待自己的身体,倾听自己的心灵,做到未雨绸缪,今天的拼搏绝不能以透支未来的健康为代价!
  • 我的鬼校生活

    我的鬼校生活

    丫的,自从上了这所大学,我的“夜生活”就变得特么丰富多彩了……P了个S:本故事纯属瞎扯,如有雷同,算你见鬼。
  • 无限大教主

    无限大教主

    我从末世走来,带着一身的尘埃,穿过那莽莽的时空,降临在无限的时代。末世灾难,人类罹乱。生死难料,人心变换。我要以瘦弱的身体,给炎黄撑起一片天。我要以不强的内心,给炎黄开辟一个宗教。使他们心有皈依,摆脱灾难。纵使身死,定将无憾!
  • 福妻驾到

    福妻驾到

    现代饭店彪悍老板娘魂穿古代。不分是非的极品婆婆?三年未归生死不明的丈夫?心狠手辣的阴毒亲戚?贪婪而好色的地主老财?吃上顿没下顿的贫困宭境?不怕不怕,神仙相助,一技在手,天下我有!且看现代张悦娘,如何身带福气玩转古代,开面馆、收小弟、左纳财富,右傍美男,共绘幸福生活大好蓝图!!!!快本新书《天媒地聘》已经上架开始销售,只要3.99元即可将整本书抱回家,你还等什么哪,赶紧点击下面的直通车,享受乐乐精心为您准备的美食盛宴吧!)
  • 双生龙域

    双生龙域

    如今的世界人类已经习惯于用科技的视觉看待眼前的问题,但是在万千世界中人世也是很小的一个地方,终于一扇奇异的空间门开启数不尽的异族怪降临世间打破了人类对于外界的观点,在不断与异族的抗争中一颗闪耀着四彩光辉的夜明珠落入了人世普通一员周逸寒的手中,也为这片饱受蹂躏的世间带来的新的力量。战争接踵而来血的教训不断冲击着周逸寒的心灵,关心的人一个一个的在他面前死去,他好恨却毫无办法。“心太软吗?那就把自己交给黑暗吧。”当他再次出现在众人面前已是黑夜的恶魔夜魅,他创立幻龙殿用所得到的力量打造了第一支元素掌控者大军,经过残酷的修炼他们终于成功吹响了反攻异族的号角,正在这时一座神秘的龙钟却降临世间将夜魅带往龙域