第一百三十九章栈缓冲区溢出
第二天,学校食堂。
sam三人组又聚在了一起共同进餐。
亚瑟和马修两人脸上的伤痕如果不注意看的话已经看不出来,浮肿也完全消失,他们都称赞林鸿的“云南白药”非常神奇。
在他们的桌子上,摆放着三个ti-82型计算器,他们一边吃饭,一边不时地看看桌上的计算器,有时候还互相对视而笑,脸上虽然疲倦,但眉目之间却露出非常兴奋和自豪的神色。
这三个计算器,正是已经被成功破解了的计算器!
迅速吃完之后,马修马上拿起了自己的那个计算器,在上面按了几下,调出一个目录,然后运行其中的程序,整个计算器液晶屏顿时一刷新,只见一个右边一个小小的黑色长条开始慢慢从右至左开始移动,马修将计算器侧了过来,开始津津有味地玩了起来。
昨天,竟然有直接在bbs上就将ti-82计算器的电路图纸直接发布在上面,所以,德州仪器邮寄的资料,实际上已经意义不大了。那个人就是德州仪器公司的工程师,他在上面回答了许多用户提出的问题,并且说欢迎大家提出改进建议,他会向公司提交反馈内容。
由于提前拿到了图纸,破解的事情立刻提上了日常,兴奋之下的三人根本没有心思睡觉,他们做了一个重要决定,那就是一定要赶在返校舞会到来之前,将计算器破解出来。
他们分工合作,马修和亚瑟负责设计出一个有意思的软件或者游戏,而林鸿则负责计算器的破解,等破解出来之后,就移植到计算器上面,给大家来一个巨大的惊喜。
由于有了bbs上那些帖子的基础,林鸿已经对破解计算器有了非常大的把握,他最终让亚瑟拿出工具箱,将计算器给拆了开来,对照电路图仔细研究了计算器的硬件结构。
最终林鸿确定,并不需要对计算器进行硬件方面的修改,就完全可以突破德州仪器公司在固件上设置的限制枷锁。
这是因为在其中一个帖子中,有一个用户描述了他发现的一个现象,按照他给出的几个按键顺序和方式,就可以让计算器进入一个特殊的模式——“debug-n”。不过那个用户的这个回复贴很快就被紧接而来的其他回复给淹没了,只有很少人才注意到了他的这个回复。
因为林鸿需要对计算器进行破解,所以他对立面的所有回复都比较关注。这个用户的回帖他非常重视,专门用自己的计算器按照对方描述的顺序,完整地操作了一番,然后再将计算器连接到计算机上面进行了一系列测试,结果惊喜地发现,这个模式似乎是德州仪器公司的工程师在开发过程中用来调试用的,在这个模式下,用户对计算器的操作拥有很大的权限。
这绝对是个好消息,原本林鸿还以为需要对硬件进行改动,现在有了进入这个模式的方式,他完全可以直接不通过硬件,仅从软件上的漏洞就可以直接对这个计算器进行破解。
经过一个晚上的奋战,林鸿最终成功了。
他找到了一个计算器里面的栈缓冲区溢出,从而成功地往里面写入了自己的代码,突破了固件系统对用户操作空间权限的限制。
程序在运行过程中,为了临时存取数据的需要,一般都要分配一些内存空间,通常称这些空间为缓冲区。
这个区域一般是可以进行数据存储和删除操作的,保护级别并不严格。而在缓冲区之外,在存在着其他一些系统内核数据区域,存放的数据都是系统中非常重要的数据,一旦那些数据被修改,整个系统就可能发生崩溃,当然,也有可能出现其他意想不到的结果。
所以这些系统内核数据区域是被严格限制和保护的,用户不能对其进行操作。
栈是一种特殊的数据结构,特点是先入后出。就像一条死胡同,大家排队进去,满了之后停止进入,然后再一个一个排着队出来,先进去的那个人,最后才出来。这种数据结构生活中也有不少例子,例如交试卷,先交的人一般要到最后才会被老师看到,还有就是以前ktv里面点歌系统,先点歌的人,反而排在最后面唱。
按理说,德州仪器的工程师在编写程序的时候,是需要对压入栈里面的数据长度进行检查的,一旦这个栈已经满了,就必须停止对其再进行压入,否则就会产生溢出。
而林鸿找到的这个栈缓冲区,正是那些工程师编写代码的时候不严谨,忘记对这个栈进行长度检查,于是林鸿一直往其中压入数据,等它满了也不管,继续压入,于是便发生了栈内存溢出。
溢出便意味着栈缓冲区之外的单元会被改写,而假如这些数据单元里面存储的数据是有用数据的话,就会产生意想不到的后果,最常见的后果就是程序崩溃,通常情况(武动乾坤最新章节)下,这只能算是程序的一个bug,但是当向这些栈中压入经过进行设计的数据,就不仅仅是bug了,而是成为了可供黑客利用的漏洞。
林鸿正是精心设计好了一个小程序,然后将其编译成机器码,先是向他找到的那个栈中压入一些无效的数据,精确计算这些数据的长度,等达到一定长度之后,再将他设计好的数据给压入进去,让其发生溢出,覆盖缓冲区之外的区域,这样当固件系统运行到这里的时候,就会成功地调用执行他的这个程序……
于是,这个严密的堡垒便被林鸿给成功攻克了。
这个过程,说起来看似简单,实际上却是经过林鸿无数次测试才找到的,为了精确计算栈的长度,他至少反反复复重复了五十遍以上的数据压入过程,而为了能够让自己的这个程序能够顺利接管固件的运行流程,其中所花费的时间和精力,也是无法三言两语描述得清楚的。
请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。
相邻推荐:高山牧场 天官 天地霸气诀 末日红颜赋 超级兵王 我行让我来[电竞] 重生世家子 重生为山 超级强者 火爆天王 都市大巫 绝代疯少 巫师世界 纵剑天下 变异杀机 天下无敌 末世超武系统 天骄无双 最终进化 网游之枭傲天下
好书推荐:桃运无双,洛雷神秘帝少甜宠妻和表姐同居的日子最佳女配(娱乐圈冯征秦始皇嬴政撩妹小神医妙手小村医吻安,首长大人超品邪医报告首长,萌妻入侵睡吧,国民夫人离婚三十天重生世家子我的老婆是冠军校园极品公子山村名医当沙雕攻拿到虐文剧本我的相公风华绝代极品媳妇农女不修仙我家皇后又作妖美人如玉都市弃少归来,依旧怪医圣手叶皓轩,一念都市超级赘婿八零娇女有空间神话之后仙工开物,蛊真人龙藏恒星时刻据说秦始皇是个女儿控来着中年男人请遵守游戏规则世上还有这种好事儿娘子,我道心乱了我被初恋退婚之后大明虎贲农家小娘子总裁情深入骨我行走江湖那些年混在后宫的假太监那夜上错床凶兽档案蚀骨危情带着妹子去修仙醉卧美人乡抱上空姐的大腿都市之纵意花丛末世之重生御女逆命相师老子是无赖都市极品人生高武我的气血无限多十年磨砺,归来已无敌修仙 一代神帝横空出世网游我在全民战争霸气开挂这个歌神眼神不好使瞎子开局逆风翻盘,抱得校花归傲世骄龙世界房产巨头将门弃妇又震慑边关了汉末无衣神话之后开局签到荒古圣体公寓里的精灵训练家盗墓,开棺挖到一只两千年粽子我们都是九零后心花路放别搞,我是人,魔尊是啥玩意儿他的金丝雀又娇又软渣夫软饭硬吃,那就送他去归西我本无意成仙我和女神合租的日子小师弟,求你从了师姐吧超品风水相师最废皇太子空间重生之商门影后穿成前夫的家养狗重生之纯真年代凡人神算整座大山都是我的猎场极品兵王俏总裁乡村傻医仙的秘密乡村神医村长九千岁,女帝她又纳妃了跪在妻女墓前忏悔,我重生了屌丝小保安,遇见女鬼逆袭了寡妇也是潜力股我要成为天下无敌假太监:攻略皇后的我如鱼得水穿越为摄政王,女帝视我心头刺汉服小姐姐直播被大熊猫赖上娘亲,离开这家,我带你吃香喝辣小姐,姑爷他又要造反啦凡三的财富蛙跳外戚好凶猛我的女皇上司最强俏村姑这个农民有点虎多子多福,从拿捏九幽女帝开始重生许仙当儒圣古玩捡漏从离婚后开始绝世废材:毒后归来偷偷藏不住楚家有女初修仙师父,抱小腿极品女仙他的小仙女大律师的惹火宝贝重生不当接盘侠,前世老婆她急了捡个魔神做师父万古第一废材我真不想当奸臣重生后我成了拼爹界杠把子我的姐姐是恶役千金大小姐一胎七宝:老婆大人哪里跑内科医生她真不是沙雕龙藏烟雨江南仙工开物神话之后鹅是老五剑走偏锋的大明大燕文学读吧小说网读一读小说网快眼看书啃书网爬书网权术小说网去读书书荒小说网再读读小说网书趣阁恒星时刻崇文中文网天籁小说小二中文文华摘云若月楚玄辰开局揭皇榜,皇后竟是我亲娘官途,搭上女领导之后千里宦途升迁之路官道征途:从跟老婆离婚开始权力巅峰:从城建办主任开始官梯险情相亲认错人,闪婚千亿女总裁书文小说不乖官路女人香学姐蓄意勾引深入浅出仙帝重生,我有一个紫云葫芦财阀小甜妻:老公,乖乖宠我空白在综艺直播里高潮不断重回2009,从不当舔狗开始透骨欢爱欲之潮直上青云深度补习上流社会共享女友镇龙棺,阎王命上瘾爱欲之潮假千金身世曝光,玄学大佬杀疯了臣服议事桌上官途:权力巅峰开局手搓歼10,被女儿开去航展曝光了关于我哥和我男朋友互换身体这件事村野流香闪婚夜,残疾老公站起来了师娘,你真美迟音