登陆注册
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的上一格,而那里的程序,不就是刚刚墨莫写的那些代码吗?

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

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

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

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

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

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

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

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

同类推荐
  • 火影忍者穿越千漩涡

    火影忍者穿越千漩涡

    一个现代的火影迷,再看火影的时候,电脑屏幕出来一个选项,因为他以为这个只是个广告,所以错点了是,导致他穿越到了火影世界,他在那个世界会有怎样的经历呢?让我们一起读这篇小说,来见证他接下来的冒险之旅。
  • 烈火雄心

    烈火雄心

    宇宙历元年,即公元4171年,混战数百年的银河帝国终于在铁血元帅霍拉德的率领之下结束了战争。就在帝国公选出霍拉德元帅为银河帝国第一任元首之际,霍拉德元帅被人行刺在了办公室里。为稳定帝国秩序,以凯德*拉斐尔为元首的新政府对军队的频繁暴动采取严厉镇压措施。宇宙历元年3月8日,以裴迪亚斯少将为主的少壮派军官在哈德里与政府军队发生激烈摩擦,最终演变成大规模的战争。刚趋于平静的银河帝国又陷入战乱之中,银河二战全面爆发。
  • 银河战队

    银河战队

    外星人在地球人还没有做好迎接准备的时候来了,可惜他们第一句问候不是哈罗,而是举起手来,是屈辱的活着还是融入宇宙大家庭?为了家族,为了亲人,叶天宇没有选择的余地,只能驾驶着老古董雷霆战机追寻祖先的脚步,再次闯入无尽星空。请和小叶子一起坐上雷霆战舰去探寻宇宙的终极奥秘吧。
  • 机甲龙兵

    机甲龙兵

    【热血机甲类爽文】第九等农星一处荒僻产粮区,少年李超驾驶一架名为“火爷”的废弃机甲逆起,成为星空中最耀眼的传奇龙兵。
  • 灵魂师之路

    灵魂师之路

    《灵魂者》讲述了洛翼想尽办法,为拯救他的世界成为灵魂师的艰难旅程。我们的世界只是广阔宇宙中很小的一部分,洛翼就来自另外一个世界。然而,突然的变化使得他的世界即将毁灭。为拯救他的世界,洛翼踏上成为灵魂师的征途,来到了我们的世界。在这里,他会经历多少磨难,最终又会发现怎样一个令人震惊的事实?两个世界,同样残酷无情,都要毁于一旦。洛翼能否成为灵魂师将是拯救两个世界的关键。
热门推荐
  • 落日谣

    落日谣

    因为一个梦,他离经判道,成为最负盛名的杀手;因为一张图,她独闯异乡,誓要找出最终的秘密。他与她就这样相遇,被卷入到一个又一个的阴谋之中,纵然能逢凶化吉,然而一个更大的秘密浮出水面:皆为了长生!而他竟扮演着关键角色!
  • 唯一的爱就是你

    唯一的爱就是你

    她叫东方小静静,单亲家庭已经见怪不怪了,重复的搬家,破碎的家庭,让她这样一个坚强的女孩子迫切地想要一个好玩伴,他如阳光出现在她的生命里,他是她的好朋友,是她的青梅竹马。他们一起走过初中,高中,大学……有一天,她问他为什么他们会一直相遇。他笑着摸她的头,“傻瓜,因为我一直在后面追你。”
  • 大帝请自重!

    大帝请自重!

    看冷言夕最强灵魂玩遍大陆!狠辣姐姐?那就看谁更毒!心计二母,那就看看谁更机智!腹黑大帝,哼哼..........我从了行不?...
  • 不朽神王

    不朽神王

    天道勤酬,演绎一曲忧伤!大道轮回,络绎深情不朽!九天十地,吾身不朽战轮回!
  • 重生之神级商女

    重生之神级商女

    她本是顶级杀手,却遭背叛惨死。一朝重生,看她如何踢开绿茶婊,创造商业传奇。what?遇上腹黑少爷?手到擒来!
  • 奇幻之玩转都市

    奇幻之玩转都市

    从小父母便离世,跟着爷爷独自生活。每天为了自己的学费跟着爷爷捡破烂,他从小就明白自己只有好好读书才能让爷爷过上好的日子,这样的日子里让他变得更加的坚毅,不像他这样年纪所表现的……一场突如其来的变故改变了他的人生轨迹……看都市小子如何玩转都市……
  • 豪门盛宠:毒宠天价小娇妻

    豪门盛宠:毒宠天价小娇妻

    【本文是男主霸道,女主机智,一对一,无限宠文】她韩芷雅经历过家破人亡之后就失踪了,在长大后她强势归来,摇身一变成银面使者,殿堂级杀手,却在做任务时不小心招惹来了一个冰冷霸道男。他苏晨心里一直装着一个人,十几年如一日,却在认识她后,屡屡让她闯进自己的心里,自己口口声声说要让她生不如死,却在她生命垂危,奄奄一息的时候比谁都害怕。他的爱,霸道,她的爱,温柔。待谜团一层层解开,她与他终于在一起…他们却迎来了更大的真相,这足以压的他们喘不过气。她说:“苏晨,你是我的光,照亮我,而我,却是你的太阳,温暖你。”他说:“雅,如果我把你弄丢了,你一定不要乱跑,我会不惜一切代价找到你。”
  • 寞桃花开自倾华

    寞桃花开自倾华

    陶夭是个不谙世事的姑娘,单纯,热情,引人向往。冉邵熙是华王朝的战神,冷漠,无情,令人恐惧。首次见她,一袭粉衣,三千青丝绕人心肠,眉眼弯弯歪头看他。俏丽若三春之桃,清素若九秋之菊。脑海里在看到她时便蹦出这句诗。她给指明道路,他不负圣望又一次立下战功。"我叫陶夭,陶瓷的陶,夭折的夭。""夭夭,我定不负你一生年华。""夭夭,我从不管你是谁,只要是你我便认定了……""夭夭,夭夭,我的夭夭……"
  • 重生在数码宝贝世界

    重生在数码宝贝世界

    一个苦逼的高三学生,高考前夕重生到了数码宝贝世界,他该追随黑暗,还是要引领光明?先后历经多个数码世界,他又得到了什么?书友群:621535023
  • exo之梦想成真

    exo之梦想成真

    是关于一个女孩的梦想之路,在路上她遇见了exo(这个文是关于世勋,和伯贤的哦!)。