海警学院 > 超脑黑客 > 第 29 部分阅读

第 29 部分阅读

在马修的解说之下,他才知道,原来这个ฐ食堂的座位也๣有讲究。

“我们这桌属于哪个等级?”林鸿颇为有些好奇地问道。

林鸿深切感受到“巨人”们的重要性,他发现相比起自己冥思苦想,百万\ຒ小!说可以大大提升自己的学习效率,尤其是这些基础的东西,其他人都知道了,而他自己้还在独自摸索ิ,这让他有种坐井观天的感觉。

孙武最近段时间到เ周末便过来找林鸿玩,林鸿就要离开了,说实话,他还真有点舍不得。

“这位同志有事要问你话儿,你老实回答就行了。”

“柱是吧?我问你,外面的游戏机里面,有没有个ฐ叫做沙罗曼蛇的游戏?”

不过对于这种情况,孙武根本不在乎,毕竟分钱分货,存档丢â失,大不了再重新า玩遍,反正是自己的游戏机,又不用钱,时间嘛,他有得是。

他交的几个朋友当中,有个骨灰级的玩家,叫顾伟,这个人不但玩游戏的技术级棒,而且还懂得自己修改和破解游戏,中ณ关村流出来的很多卡,都是从他手里流传出来的。

当他看到林鸿再次拿出那ว个放大电路的图纸之ใ后,对林鸿的这个产品更加有信心了。他强烈建议林鸿将信号放大功能集成到原来的图纸中去。

接下来便没有他什么事情了,慕思敏将工ื作接了过来,和库克开始进行详谈。

他不由感叹,这本书简直就是台计算机制作手册。

她今天没有去买຀菜,因为昨天已经答应了罗伊库克的邀请,晚上去友谊宾馆那边和他共进晚餐。

“这本书是我之前๩专门为了学习๤怎么使用计算机而购买的,结果买回来之ใ后发现根本用不上。”冯婉给儿子解释着这本书的来历,“里面的内容都是关于如何给计算机编程的。”

说到这里,她走到书桌前,从旁边拉出个ฐ方形的纸箱,边说道:

第二天,林鸿早晨练完功之ใ后仍旧没有去上学,只是让孙武帮自己请假。

林昌明闻言浑身震,三下五除二就将碗中的粥喝完,然后说道:“吃完之ใ后到เ我房间来下。”

“师父,您快点。”小张见状有些着急地说道。

老杜给他来了个冷幽默,这才慢悠悠地坐到椅子上,拿起其中个ฐ耳机听了起来。

说起打架,他可从来都是天不怕地不怕,他就不信了,都是同样的这样操作,就定干不过对方แ?

林鸿在里面逛了圈,发现每台机器面前๩都围满了人,而且看上去时半会儿也空不出来,他不愿和大家起都挤在块,于是把目光看像了游戏厅角落里的那两台小型游戏机。

之ใ所以选择模式参赛,主要是因为脉ำ冲信号对设备的要求比较低,通常所需的功率只有bຘ模式语音模式的十分之ใ,而且信号传播广,并且不容易受到干扰。

这些天来,他都在有意识地训练自己的摩斯电码速记和发送能力。

当林鸿感到เ废品收购站的时候,那里周围已经站满了人,路上他看到了村里许多熟脸孔,可以说,几乎全村的人都惊动了。

林鸿被挤在最外围,什么都看不到,只是听到院子里面传来阵阵大吼声,但是却又被周围嘈杂的声音给掩盖住了,不由急得团团转,心中暗自祈祷老徐头不要出什么เ事情。

老孙头突然意识到差点又犯了刚才同样的错误,于是他改变策略,转而去掉转车头,跑到林鸿那边逞凶去了。

他逼着老孙头将那唯的车和自己的车对拼掉,然后开始操作着两只过河之ใ马在对方疆土之上横冲直撞,两马之间配合玄妙,再加上中心炮的协助之下,将老孙头苦心经营的防守局势毁于旦ຆ。

第二天。

身穿大白褂的医生坐在办公椅上,只见他从抽屉中拿出份病例档案,递给位身穿破旧ງ灰色棉袄年轻男子,说道:

亚瑟和马修两人脸上的伤痕如果不注意看的话已经看不出来,浮肿也๣完全消เ失,他们都称赞林鸿的“云南白『药』”非常神奇。

在他们的桌子上,摆放着三个82๐型计算器,他们边吃饭,边不时地看看桌上的计算器,有时候还互相对视而笑,脸上虽然疲倦,但眉目之间却『露』出非常兴奋和自豪的神『色』。

这三个计算器,正是已经被成功破解了的计算器!

迅速吃完之ใ后,马修马上拿起了自己的那个计算器,在上面按了几下,调出个目录,然后运行其中的程序,整个计算器液晶屏顿ู时刷新,只见个右边个小小的黑『色』长条开始慢慢从右至左开始移动,马修将计算器侧了过来,开始津津有味地玩了起来。

昨天,竟然有直接在bb上就将8๖2计算器的电路图纸直接发布在上面,所以,德州仪器邮寄的资料,实际上已经意义不大了。那个人就是德州仪器公司的工ื程师,他在上面回答了许多用户提出的问题,并且说欢迎大家提出改进建议,他会向公司提『交』反馈内容。

由于提前拿到了图纸,破解的事情立刻๑提上了日常,兴奋之下的三人根本没有心思睡觉,他们做了个ฐ重要决定,那就是定要赶在返校舞会到来之前๩,将计算器破解出来。

他们分工合作,马修和亚瑟负责设计出个ฐ有意思的软件或者游戏,而林鸿则ท负责计算器的破解,等破解出来之ใ后,就移植到เ计算器上面,给大家来个巨大的惊喜。

由于有了bb上那些帖ຆ子的基础,林鸿已经对破解计算器有了非常大的把握,他最终让亚瑟拿出工具箱,将计算器给拆了开来,对照电路图仔细研究了计算器的硬件结构。

最终林鸿确定,并不需要对计算器进行硬件方面的修改,就完全可以突破德州仪器公司在固件上设置的限制枷锁。

这是因为在其中个帖子中,有个ฐ用户描述了他发现的个现象,按照他给出的几个ฐ按键顺序和方แ式,就可以让计算器进入个特殊的模式——“b”。不过那个ฐ用户的这个回复贴很快就被紧ู接而来的其他回复给淹没了,只有很少人才注意到了他的这个回复。

因为林鸿需要对计算器进行破解,所以他对立面的所有回复都比较关注。这个ฐ用户的回帖他非常重视,专『门』用自己的计算器按照对方描述的顺序,完整地『操』作了番,然后再将计算器连接到เ计算机上面进行了系列ต测试,结果惊喜地发现,这个模式似乎ๆ是德州仪器公司的工程师在开发过程中用来调试用的,在这个模式下,用户对计算器的『操』作拥有很大的权限。

这绝对是个好消息,原本林鸿还以为需要对硬件进行改动,现在有了进入这个模式的方式,他完全可以直接不通过硬件,仅从软件上的漏『洞』就可以直接对这个计算器进行破解。

经过个晚上的奋战,林鸿最终成功了。

他找到เ了个计算器里面的栈缓冲区溢出,从而成功地往里面写入了自己的代码,突破了固件系统对用户『操』作空间权限的限制。

程序在运行过程中,为了临时存取数据的需要,般都要分配些内存空间,通常称这些空间为缓冲区。

这个区域般是可以进行数据存储和删除『操』作的,保护级别并不严格。而在缓冲区之ใ外,在存在着其他些系统内核数据区域,存放的数据都是系统中非常重要的数据,旦那ว些数据被修改,整个系统就可能发生崩溃,当然,也有可能出现其他意想不到เ的结果。

所以这些系统内核数据区域是被严格限制和保护的,用户不能ม对其进行『操』作。

栈是种特殊的数据结构,特点是先入后出。就像条死胡同,大家排队进去,满了之后停止进入,然后再个ฐ个排着队出来,先进去的那个ฐ人,最后才出来。这种数据结构生活中ณ也有不少例子,例如『交』试卷,先『交』的人般要到เ最后才会被老师看到,还有就是以前里面点歌系统,先点歌的人,反而排在最后面唱。

按理说,德州ะ仪器的工程师在编写程序的时候,是需要对压入栈里面的数据长度进行检查的,旦这个ฐ栈已经满了,就必须停止对其再进行压入,否则ท就会产生溢出。

而林鸿找到的这个栈缓冲区,正是那ว些工ื程师编写代码的时候不严谨,忘记对这个ฐ栈进行长度检查,于是林鸿直往其中压入数据,等它满了也不管,继续压入,于是便发生了栈内存溢出。

溢出便意味着栈缓冲区之ใ外的单元会被改写,而假如这些数据单元里面存储的数据是有用数据的话,就会产生意想不到เ的后果,最常见的后果就是程序崩溃,通常情况下,这只能算是程序的个ฐb,但是当向这些栈中压入经过进行设计的数据,就不仅仅是bຘ了,而是成为了可供黑客利用的漏『洞』。

林鸿正是『精』心设计好了个小程序,然后将其编译成机器码,先是向他找到的那个栈中压入些无效的数据,『精』确计算这些数据的长度,等达到เ定长度之后,再将他设计好的数据给压入进去,让其发生溢出,覆盖缓冲区之ใ外的区域,这样当固件系统运行到这里的时候,就会成功地调用执行他的这个程序

于是,这个严å密的堡垒便被林鸿给成功攻克了。

这个过程,说起来看似简单,实际上却是经过林鸿无຀数次测试才找到的,为了『精』确计算栈的长度,他至少反反复复重复了五十遍以上的数据压入过程,而为了能够让自己的这个程序能够顺利接管固件的运行流程,其中所『花』费的时间和『精』力,也是无法三言两ä语描述得清楚的。

林鸿将其成功破解之后,兴奋之下,忘记了别人不像自己้根本不用睡觉,当时就立刻敲响了亚瑟的房『门』,幸好他们刚ธ刚睡下不久,听到他这么快就将计算器给破击出来了,原本已๐经瞌睡得睁不开眼睛的两人顿时『精』神振,将睡意抛到了九๡霄云外。

立刻想要看下破解之后的成果,可是接下来难题又来了——没有合适的可以运行在上面的软件。

之前他们两个讨论了很久,始终无法确定第个软件该编写什么功能。亚瑟比较倾向于做个实用『性』的软件,例如可以辅助学生在学校的学习,而马修则倾向于编写个ฐ有意思的游戏。

两个人的意见不能统,时间就在他们不断地争辩中流逝,结果什么东西都没做出来。

现在机器已经出来了,却没有合适的软件,真是够郁闷的。

这个时候,马修提出,先编写个相对比较简单的游戏跑起来再说,得到了林鸿和亚瑟的致认可。

三人商量了下,最终决定将俄罗斯方块这个游戏移植到计算器中。

俄罗斯方แ块是苏联科学家阿列克谢帕基特诺夫个经典游戏,它看似简单但却变化无穷,令人上瘾。1้988年在美国上市之后,立刻获得了巨เ大的商业成功,受到了男『女』老少所有人的欢迎,成为款极为经典的大众游戏,没有任何款游戏能够与其媲美。

亚瑟之前在学习编程的时候,曾经独立开发过这个游戏,有现成的源代码,移植起来的难度并不大。

于是,他们又将阵地转移到了林鸿房间,因为他这台机器可以模拟80的运行环境,将亚瑟之前๩编写的那ว个源程序进行简单的修改和优化之后,就将其编译成为ฦ了个可在计算器里面执行的文件,然后通过数据线传输到了计算器存储空间中。

刚开始的几次运行都出了点问题,但是这是很正常的情况,移植到เ另外个平台,如果能次『性』就成功,那ว就太夸张了,就算是再牛『逼』的程序员,有时候也是会犯些低级错误的,例如变量名称写错,忘记写分号之ใ类的,这是很正常的情况。只要根据调试信息,有针对『性』地进行修改就行了。

编写程序就是这样,调试运行再调试

不断地和各种错误和bຘ做这斗争,直到最终顺利ำ通过的那刻!

在进行过十几次不断地来回调试和传输程序的过程之后,亚瑟的俄罗斯游戏终于顺利地在82上运行了!

马修第时间将计算器抢了过来,然后开始玩了起来。

玩俄罗斯ั方块游戏,只需要至多五个ฐ按键就可以,三个ฐ方向键,个ฐ键用来变换,另外个键则ท用来加速。而计算器上有几十个按键,足够了。

马修在玩了会儿就发现,由于计算器显示屏高度太低,很容易就会被撑到顶,最终挂掉。

于是,他提出了改进意见,将显示方式向顺时针方向旋转9๗0度,这样方แ块下落的路程就可以大大加长,可以降低难度。

于是,亚瑟又开始对游戏的源程序进行修改

在整个过程中,林后都没再『插』手,他只是在旁้边观看着亚瑟编写程序。

亚瑟的这个俄罗斯ั方แ块程序是用语言进行编写的,林鸿来美国之后才开始接触这『门』编程语言,用得还不是很熟,今天看到亚瑟不断ษ修改调试,也学到เ了不少东西。

他发现,亚瑟编写程序的时候,有些细小的编程习惯值得借鉴和学习,例如在关键的地方แ给点注释给代码语句多分行缩进,提高代码的可读『性』等等。

在将近凌晨五点的时候,他们终于将最终版的俄罗斯方块游戏给确定下来。

此刻,除了林鸿,亚瑟和马修都疲惫不堪,直接倒在『床』上呼呼大睡。

这天早晨的晨练,亚瑟和马修都没能ม去,只有林鸿人。

正文第百四十章金发美女【求月票】

更新า时间:20่129๗92๐3:50:4๒8本章字数:552๐2

第二卷黑客圣地第百四十章金发美女【求月票】

第百四十章金发美『女』求月票຀

俄罗斯方块第个版本,只是单机版的,并且还没有音效辅助,功能ม也比较简单,没有设置关卡,调整速度之类的游戏元素,只是简单的积累分数。

不过,就是这个简单的俄罗斯方块,马修却玩得津津有味。

这可是82计算器上的第个真正意义上的游戏啊!

林鸿和亚瑟两人吃完饭之后也加入了马修的行列,拿起旁边地计算器也玩了起来。

由于是竖屏游戏,只有用右手才能玩,林鸿觉得不怎么方便,于是干脆就将计算器正了起来,用两只手玩,只不过方แ块下落的方向,是从右到左,适应了之后,样可以玩得很不错。

“今天回去之ใ后,要把音效加下,这样玩起来太安静了。”马修建议道。