友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
超脑黑客 疯狂小强-第61部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
昨天,竟然有直接在bbs上就将ti…82计算器的电路图纸直接发布在上面,所以,德州仪器邮寄的资料,实际上已经意义不大了。那个人就是德州仪器公司的工程师,他在上面回答了许多用户提出的问题,并且说欢迎大家提出改进建议,他会向公司提『交』反馈内容。
由于提前拿到了图纸,破解的事情立刻提上了日常,兴奋之下的三人根本没有心思睡觉,他们做了一个重要决定,那就是一定要赶在返校舞会到来之前,将计算器破解出来。
他们分工合作,马修和亚瑟负责设计出一个有意思的软件或者游戏,而林鸿则负责计算器的破解,等破解出来之后,就移植到计算器上面,给大家来一个巨大的惊喜。
由于有了bbs上那些帖子的基础,林鸿已经对破解计算器有了非常大的把握,他最终让亚瑟拿出工具箱,将计算器给拆了开来,对照电路图仔细研究了计算器的硬件结构。
最终林鸿确定,并不需要对计算器进行硬件方面的修改,就完全可以突破德州仪器公司在固件上设置的限制枷锁。
这是因为在其中一个帖子中,有一个用户描述了他发现的一个现象,按照他给出的几个按键顺序和方式,就可以让计算器进入一个特殊的模式——“debug…n”。不过那个用户的这个回复贴很快就被紧接而来的其他回复给淹没了,只有很少人才注意到了他的这个回复。
因为林鸿需要对计算器进行破解,所以他对立面的所有回复都比较关注。这个用户的回帖他非常重视,专『门』用自己的计算器按照对方描述的顺序,完整地『操』作了一番,然后再将计算器连接到计算机上面进行了一系列测试,结果惊喜地发现,这个模式似乎是德州仪器公司的工程师在开发过程中用来调试用的,在这个模式下,用户对计算器的『操』作拥有很大的权限。
这绝对是个好消息,原本林鸿还以为需要对硬件进行改动,现在有了进入这个模式的方式,他完全可以直接不通过硬件,仅从软件上的漏『洞』就可以直接对这个计算器进行破解。
经过一个晚上的奋战,林鸿最终成功了。
他找到了一个计算器里面的栈缓冲区溢出,从而成功地往里面写入了自己的代码,突破了固件系统对用户『操』作空间权限的限制。
程序在运行过程中,为了临时存取数据的需要,一般都要分配一些内存空间,通常称这些空间为缓冲区。
这个区域一般是可以进行数据存储和删除『操』作的,保护级别并不严格。而在缓冲区之外,在存在着其他一些系统内核数据区域,存放的数据都是系统中非常重要的数据,一旦那些数据被修改,整个系统就可能发生崩溃,当然,也有可能出现其他意想不到的结果。
所以这些系统内核数据区域是被严格限制和保护的,用户不能对其进行『操』作。
栈是一种特殊的数据结构,特点是先入后出。就像一条死胡同,大家排队进去,满了之后停止进入,然后再一个一个排着队出来,先进去的那个人,最后才出来。这种数据结构生活中也有不少例子,例如『交』试卷,先『交』的人一般要到最后才会被老师看到,还有就是以前ktv里面点歌系统,先点歌的人,反而排在最后面唱。
按理说,德州仪器的工程师在编写程序的时候,是需要对压入栈里面的数据长度进行检查的,一旦这个栈已经满了,就必须停止对其再进行压入,否则就会产生溢出。
而林鸿找到的这个栈缓冲区,正是那些工程师编写代码的时候不严谨,忘记对这个栈进行长度检查,于是林鸿一直往其中压入数据,等它满了也不管,继续压入,于是便发生了栈内存溢出。
溢出便意味着栈缓冲区之外的单元会被改写,而假如这些数据单元里面存储的数据是有用数据的话,就会产生意想不到的后果,最常见的后果就是程序崩溃,通常情况下,这只能算是程序的一个bug,但是当向这些栈中压入经过进行设计的数据,就不仅仅是bug了,而是成为了可供黑客利用的漏『洞』。
林鸿正是『精』心设计好了一个小程序,然后将其编译成机器码,先是向他找到的那个栈中压入一些无效的数据,『精』确计算这些数据的长度,等达到一定长度之后,再将他设计好的数据给压入进去,让其发生溢出,覆盖缓冲区之外的区域,这样当固件系统运行到这里的时候,就会成功地调用执行他的这个程序……
于是,这个严密的堡垒便被林鸿给成功攻克了。
这个过程,说起来看似简单,实际上却是经过林鸿无数次测试才找到的,为了『精』确计算栈的长度,他至少反反复复重复了五十遍以上的数据压入过程,而为了能够让自己的这个程序能够顺利接管固件的运行流程,其中所『花』费的时间和『精』力,也是无法三言两语描述得清楚的。
林鸿将其成功破解之后,兴奋之下,忘记了别人不像自己根本不用睡觉,当时就立刻敲响了亚瑟的房『门』,幸好他们刚刚睡下不久,听到他这么快就将计算器给破击出来了,原本已经瞌睡得睁不开眼睛的两人顿时『精』神一振,将睡意抛到了九霄云外。
立刻想要看一下破解之后的成果,可是接下来难题又来了——没有合适的可以运行在上面的软件。
之前他们两个讨论了很久,始终无法确定第一个软件该编写什么功能。亚瑟比较倾向于做一个实用『性』的软件,例如可以辅助学生在学校的学习,而马修则倾向于编写一个有意思的游戏。
两个人的意见不能统一,时间就在他们不断地争辩中流逝,结果什么东西都没做出来。
现在机器已经出来了,却没有合适的软件,真是够郁闷的。
这个时候,马修提出,先编写一个相对比较简单的游戏跑起来再说,得到了林鸿和亚瑟的一致认可。
三人商量了一下,最终决定将俄罗斯方块这个游戏移植到计算器中。
俄罗斯方块是苏联科学家阿列克谢*帕基特诺夫一个经典游戏,它看似简单但却变化无穷,令人上瘾。1988年在美国上市之后,立刻获得了巨大的商业成功,受到了男『女』老少所有人的欢迎,成为一款极为经典的大众游戏,没有任何一款游戏能够与其媲美。
亚瑟之前在学习编程的时候,曾经独立开发过这个游戏,有现成的源代码,移植起来的难度并不大。
于是,他们又将阵地转移到了林鸿房间,因为他这台机器可以模拟z80cpu的运行环境,将亚瑟之前编写的那个源程序进行简单的修改和优化之后,就将其编译成为了一个可在计算器里面执行的文件,然后通过数据线传输到了计算器存储空间中。
刚开始的几次运行都出了点问题,但是这是很正常的情况,移植到另外一个平台,如果能一次『性』就成功,那就太夸张了,就算是再牛『逼』的程序员,有时候也是会犯一些低级错误的,例如变量名称写错,忘记写分号之类的,这是很正常的情况。只要根据调试信息,有针对『性』地进行修改就行了。
编写程序就是这样,调试、运行、再调试……
不断地和各种错误和bug做这斗争,直到最终顺利通过的那一刻!
在进行过十几次不断地来回调试和传输程序的过程之后,亚瑟的俄罗斯游戏终于顺利地在ti…82上运行了!
马修第一时间将计算器抢了过来,然后开始玩了起来。
玩俄罗斯方块游戏,只需要至多五个按键就可以,三个方向键,一个键用来变换,另外一个键则用来加速。而计算器上有几十个按键,足够了。
马修在玩了一会儿就发现,由于计算器显示屏高度太低,很容易就会被撑到顶,最终挂掉。
于是,他提出了改进意见,将显示方式向顺时针方向旋转90度,这样方块下落的路程就可以大大加长,可以降低难度。
于是,亚瑟又开始对游戏的源程序进行修改……
在整个过程中,林后都没再『插』手,他只是在旁边观看着亚瑟编写程序。
亚瑟的这个俄罗斯方块程序是用c语言进行编写的,林鸿来美国之后才开始接触这『门』编程语言,用得还不是很熟,今天看到亚瑟不断修改调试,也学到了不少东西。
他发现,亚瑟编写程序的时候,有一些细小的编程习惯值得借鉴和学习,例如在关键的地方给点注释、给代码语句多分行缩进,提高代码的可读『性』……等等。
在将近凌晨五点的时候,他们终于将最终版的俄罗斯方块游戏给确定下来。
此刻,除了林鸿,亚瑟和马修都疲惫不堪,直接倒在『床』上呼呼大睡。
这天早晨的晨练,亚瑟和马修都没能去,只有林鸿一人。
正文第一百四十章金发美女【求月票】
'奇qisuu书网'更新时间:2012…9…923:50:48本章字数:5522
第二卷黑客圣地'第一百四十章金发美女【求月票】
第一百四十章金发美『女』求月票
俄罗斯方块第一个版本,只是单机版的,并且还没有音效辅助,功能也比较简单,没有设置关卡,调整速度之类的游戏元素,只是简单的积累分数。
不过,就是这个简单的俄罗斯方块,马修却玩得津津有味。
这可是ti…82计算器上的第一个真正意义上的游戏啊!
林鸿和亚瑟两人吃完饭之后也加入了马修的行列,拿起旁边地计算器也玩了起来。
由于是竖屏游戏,只有用右手才能玩,林鸿觉得不怎么方便,于是干脆就将计算器正了起来,用两只手玩,只不过方块下落的方向,是从右到左,适应了之后,一样可以玩得很不错。
“今天回去之后,要把音效加一下,这样玩起来太安静了。”马修建议道。
“对,还可以考虑设置一些关卡,升级之后加快方块移动的速度。”亚瑟表示同意。
林鸿则说道:“依我看,还是要设计一款比较适合在这个上面玩的游戏,在这个上面玩俄罗斯方块,显示器还是小了点。赛车游戏怎么样?”
“赛车游戏?”马修微微点头,“还不错,不过我觉得太普通了,不够酷。”
刚开始对俄罗斯方块这种经典游戏进行移植觉得很酷,是因为这是运行在计算器中的第一个游戏,可是当真正实现了之后,就开始觉得这种普通的游戏还缺少了点什么,还没有达到足够让人震惊的程度。
“我还是觉得应该编写一个可以用来辅助学习的软件放到里面。”亚瑟提出了自己的看法,“或者我们可以在里面放一个大词典。”
“这有点不现实。”林鸿摇头道,“这里面的空间有限,词典所包含的内容太多了,装不下那么多东西。”
缺乏扩展『性』,这成了这个计算器的致命伤,就算是已经被破解,能够完成的功能也是有限制的,并不能真正像计算机那样,想做什么就做什么。
“如果想追求酷的话,我认为普通的功能可能无法达到要求,不过,如果我们能将计算器连接起来的话,可能就会变得有意思起来。而唯一的可能『性』就是利用计算器本身自带的红外线功能,就是不知道这个方式能不能实现。”林鸿想起了街机里面的联机游戏。一个人玩游戏,可能会觉得比较枯燥,但是如果能够有人一起玩,那感觉就会不同了。
马修和亚瑟两人听到了林鸿的话之后顿时都看向了他。
半晌之后,他们两人对视了一眼,齐声道:“cool!”
他们两人都认为林鸿的这个提议非常酷,要是真的能够实现,必定会在同学之间引起轰动。
“什么东西这么酷?”
亚瑟他们的话音刚落,一个清脆的声音便『插』了进来。
林鸿转头一看,只见两个『女』生站在了他们的桌子旁边,其中一位他还认识,正是他在上飞机前碰到的同学司倩。
“嗨——”司倩向他招了招手,“真巧,我们又见面了。”
司倩用汉语跟他说道。
“嗨。”林鸿也会心地笑了起来,在这里能够见到自己的同胞,而且还算是熟人,简直倍感亲切。
他来美国之后,其实也曾经碰到过不少华裔,但是每当他用汉语和他们打招呼的时候,他们其中的很多人竟然听不懂,就算能够听懂简单的“你好”,接下来的谈话也无法用汉语进行,他们只懂英语。
这些人父母是华人,已经在这里定居,但是他们却是土生土长的美国人,拥有的是美国国籍。
林鸿原本还想和他们进行一番『交』谈,但是看到他们拥有着中国人的脸孔,却不能说汉语,心中实在觉得别扭得慌,也就失了继续谈下去的兴致。
所以说,突然出现在他眼前的这个司倩,是他来到美国之后,看到的第一个中国人。
和司倩一起的,是一个美国『女』孩,拥有着一头金『色』的披肩长发,很飘逸,当然也很漂亮,刚刚『插』言说话的也正是这位美『女』。
林鸿刚想给自己的两位伙伴介绍一下自己的中国朋友,可是转头之后却看到亚瑟和马修正睁大着眼睛抬头看着对方,一脸地不可思议。
这个时候,马修突然朝林鸿使眼『色』,然后眼神在亚瑟和美国『女』孩之间来回示意,林鸿心中一动,有些明白他的意思了。
“嗯哼。”
林鸿右手握拳放在嘴边假装咳嗽了一下,然后说道:
“我来介绍一下,这位是司倩同学,和我一样,也来自中国北京,之前是我同一个学校的。”
“嗨,你们好,很高兴见到你们,我是司倩。”司倩热情地打招呼。
马修连忙站了起来回应:“你好,你可以直接叫我马修。”
轮到亚瑟的时候,却发现对方依然还坐在位子上看着那个美国『女』孩。
“亚瑟?”林鸿低声喊了一声。
“很……很高兴见到你。”亚瑟有些慌『乱』地站了起来,“我……我是亚瑟。”
由于动作过大,他的衣襟直接将餐盘给掀了起来,要不是林鸿眼疾手快,直接将他的餐盘给按住了,肯定会直接将里面的残渣倒向正站在他身边的那个美国『女』孩。
林鸿第一次见他这种慌张的『摸』样,他不得不出头圆场,于是主动伸出手对对方说道:
“很高兴见到你,我是stone。”
只见对方微微一笑,伸出手握住林鸿的手:“乔安娜,我也很高兴见到你。”
“我来给你介绍一下,这位……”
“不用了,我们认识。”乔安娜笑道,“你们刚才在讨论什么,似乎很高兴的样子?”
“坐下再聊吧。”林鸿提议道,“我先将桌子上的东西收拾一下。”
“ok。”
司倩和乔安娜一起在另外的两个空位上坐了下来。
乔安娜直接拿起了桌子上林鸿的那个计算器看了起来。
马修见林鸿在收拾桌子上的餐盘,立刻帮忙,然后跟着林鸿一起去了餐盘回收区。
“亚瑟是怎么回事?好像很不对劲。”在路上,林鸿问道。
“哇哦,太意外了!”马修一脸兴奋地说道,“乔安娜竟然主动跑到我们这里来了!stone,乔安娜可是属于a等桌那边的呢。她可是学生自治会的会长,还是学校“粉红天使”乐队的主唱歌手!并且,这次返校舞会也是她负责筹备举办的……总之,她是拉丁学校的大名人,人气最高的人就是她了!”
在美国学校班级中,并不存在班干部之类的职位,而是有着一个和学生会类似的机构,叫做学生自治会,这是一个特殊的学生社团。它的主要职能组织学生活动,小至协调各个俱乐部、社团的项目,大至全校『性』的舞会、节日游行,再到学校的电台、电视台、报纸,都参与策划组织。
由于学生自治会有更广泛的代表『性』,又与校方有更密切的联系渠道,掌握更多资源和人脉,所以其他各个社团一般会比较配合学生自治会展开的活动。
林鸿点点头,难怪马修和亚瑟两人有点失态了,原来这个美『女』来头这么大。但是他还是有点疑『惑』,相比起马修,亚瑟对对方还多了一层说不明道不清的情感。
“你还不知道吧。”马修一脸八卦地说道,“其实乔安娜是亚瑟的朱丽叶!”
林鸿满头雾水,听不明白他到底在说些什么。
马修无奈之下,只好用比较通俗易懂地说法再解释了一遍。
这一次他明白了,原来亚瑟这小子在暗恋对方。难怪刚刚他那么失态了,原来是因为自己的梦中情人突然站在了自己的面前。
将餐盘放入了自动回收餐盘的传送带上,林鸿和马修开始往回走,不过由于还在谈话,他们回去的时候,脚步故意放慢了。
“这次返校舞会,马修还没有找到自己的『女』伴吧?”林鸿突然问道。
“没有,没有。”马修摇头,“亚瑟根本就没打算邀请谁。”
“他既然喜欢乔安娜,为什么不邀请她作为他的『女』伴?”
“噢,我的上帝。你在开玩笑吗?”马修无奈道,“乔安娜那么受欢迎,你认为还能轮得到亚瑟吗?更何况,学校的人都知道,乔安娜的男朋友是查尔斯,校橄榄球队的队长!”
听到马修的话,林鸿也无话可说了。只能
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!