GDS提示您:看后求收藏(三江阁网www.sanjiangge.net),接着再看更方便。

现在的生活对沈怿心而言并不美好。

确切的说,沈怿心是个穿越者。虽然在她的世界里也读过很多穿越小说,但她不认为穿越有什么好,而她的穿越方式也实在非常糟糕。倒不是和一个男人共用同一个身体之类的尴尬原因,当然这方面的不适或许有一些,不过从沈怿心的角度来看,她并不认为自己吃了什么亏:正相反,她觉得高大上才是真正倒霉的一方。正因为如此,哪怕她可以完全地控制高大上,她的道德也不允许她这样做。

于是对沈怿心而言,现在的生活更像是在看一篇冗长的长篇小说。然而再滥长恶俗的小说都不会把无关紧要的吃喝拉撒睡觉梦遗都写出来让读者老爷们看到。柯南(还有道尔)说小说乃是避世消愁的唯一途径,这是因为它高于生活。哪怕是情节无比现实的小说,也会只在其中保留具备故事性的内容,一篇缺乏故事性的长篇流水账肯定非常无聊。

7*24小时读一篇流水账已经够无聊了,更糟糕的是,面对这种流水账沈怿心还要尽可能地不让自己妨碍到主角的正常生活……除了高大上那烂毙了的生活方式和身体实在不能忍之外,她希望自己可以站在辅助的位置上去帮助高大上。这并非传统女性对自身的定位,也不是她对这个被自己霸占了身子的小男生有什么特殊的好感,而是强者对弱者的同情与体谅。然而这种毫无参与感的生活,对于见惯了更精彩的世界的她而言,实在是非常无聊。

所以当她听到高大上的那番话时,感动之余更感到了一丝窃喜。对她来说,健康的饮食与作息是底线,她无法忍受那种不适感,这没得商量,但在其他方面,比如工作,她并不愿意强迫高大上什么。但她也不会顺其自然,而是希望通过自己的潜移默化促使高大上主动做出改变。毕竟她不确定自己能否再回到原来的世界中去了,她希望自己的生**验能够更好一些。

虽然高大上确实表示过对“黑客”的兴趣,但根据她对高大上的了解,她非常怀疑对方真正感兴趣的是“黑客”还是“黑客大姐姐”。虽然高大上也几次表示要跟大姐姐学技术,但那些话更像是玩笑,高大上不主动提,以她的骄傲也没法主动说出“少年你根骨清奇姐姐教你呀”之类的话来……

而现在,事情似乎有了转机,虽然转机出现的原因并不那么理想。

“我说过,除了你的生活习惯我实在不能忍之外,其他方面都没什么问题。”沈怿心说,“不过你既然提到工作了,那我确实有一个更有趣的建议。”

“什么建议?”高大上问道。

“你记不记得我跟你说过我的工作是什么?”

“你是说……黑客?”

“没错,确切的说是安全维护。怎么样,感兴趣吗?”

“这样啊……”高大上说,想了想,犹豫了片刻,小心地道:“不过这种工作必须上班的吧?”

“完全不用,你发现了某个产品的漏洞,然后给开发企业发个邮件,他们会主动付钱的,这些公司都很懂事,我以前就是这么干的。”

“但是我从来没接触过这部分的知识啊?”

“没关系,我教你啊?而且有什么工作我也可以帮你。”

“但是我会觉得很不好意思……”

“你不好意思什么?今天你接的单也是我帮你做的啊?”沈怿心郁闷道,过了片刻,她恍然大悟:“看你来你是不感兴趣了,但是为什么?你连那么无聊的单子都愿意接,相信你也知道黑客总比做毕业设计有趣多了吧?”

沈怿心有些郁闷。她原以为高大上对黑客只是没什么感觉,但这几句话下来她忽然发现高大上似乎对觉得当黑客是件非常无趣的事情。如果换个人,她可能会搬出她那个世界的那篇讲述段姓少年黑客的故事,不过她也知道这个故事对于程序员来说其实没有什么鼓动性。

高大上不是个懒惰的人,也不抵触学习新的知识,沈怿心很清楚这一点。她也知道高大上除了接一些外包赚钱外,还会看一些计算机方面的论文,花大量时间参与维护一些开源的软件项目,贡献率一直颇高。所以她更加费解为什么这个小男生对黑客如此抵触。

“也不是不感兴趣,而是觉得不想麻烦你了……”高大上吞吞吐吐地说道,然后马上被沈怿心打断了。

“灵魂无法说谎——我知道这确实是你的想法,但我也确信它不是真正的理由。”沈怿心说:“我希望我们可以更坦诚一点,我可以告诉你,你现在的工作确实让我感到很无聊,而我确信如果你来当黑客的话,你会得到比这更多的乐趣,当然我也会得到更多的乐趣,我知道你喜欢学习各种的新知识,也并不懒——我知道你在同时维护着好几个开源的项目——所以我很奇怪为什么你不愿意。”

沈怿心的话很严肃,也很坦诚。所以高大上也只能回答地很严肃,很坦诚。所以尽管觉得有些尴尬,高大上还是在沉默了片刻后说出了自己的想法。

“我不是不感兴趣,而是觉得……没有成就感。”

沈怿心有些惊讶,不过她还是抓住了那个关键词:“成就感?”

“是的,成就感。”高达上说,有点尴尬,有点害羞:“就拿我维护的那些项目说吧,我之所以一直在维护,感兴趣是基础,不过更重要的是我能从社区的反馈中获得成就感……我对黑客也很感兴趣,至少和心姐你聊过后也觉得很有趣,但是,要是我发现的那些漏洞之类的东西都要在肚子里闷着……我会觉得很郁闷。”

“但是你现在接的那些单子也非常无趣啊?”

“那些都很好做,不用花什么时间对吧,尤其是我积累了这么多项目,稍稍改点东西就ok了,时间可以省下来做别的,要是黑客的话,虽然我没做过,但也知道一些,大量的时间都要花在测试和分析上吧?然后成果还不能泄漏出去,我就觉得有点儿……不合适。”

听高大上吞吞吐吐地说完,沈怿心才觉得自己有点儿明白这个小男生的想法了。她忽然觉得这个人很有意思。高大上是兴趣加功利导向型性格,兴趣应该是他做一件事的基础,然而如果没有短期可见的利益,那么他也会变得完全没有执行的动力。不过有趣的是,高大上看重的利益并非物质资源,而是精神财富——来自别人的赞美。

这个有着古怪虚荣心的小男生啊。沈怿心知道自己该怎么做了。

***

***

hello, world

全小写,只有一个英文半角逗号,后面加个半角空格。这大概是大多数程序员接触带的第一个程序代码。这是新手开发者面对新的开始、新的世界所发出的惊喜的问候。

高大上不是新手开发者,但现在他还是需要再用c语言写一次这段代码。

沈怿心“对付”高大上的方法很简单,那就是让他体验到**所带来的成就感。所以她打算先让高大上写一个单机游戏的修改器。严格地说,写修改器和做程序破解一样,属于溃客(cracker)的范畴,然而从技术角度讲,两者有大量相通的地方。

虽然高大上本人对网游外挂深入痛觉,单机修改器他还是接触过不少,也知道对此有需求的人有很多,他知道一个好用的修改器势必会收获许多人的赞叹与感谢,所以面对沈怿心的建议,他很干脆地同意试试。

不过在那之前,他需要学习足够的基础知识。沈怿心不愿意只告诉高大上他需要用到的知识,她希望他的学习可以更加的系统一些。让沈怿心感到高兴的是,这个小男生虽然做事的目的比较功利,然而在做事时却非常地沉稳,对此她很满意。

对照着高大上写的c语言命令行版hello, world小程序,沈怿心给高大上讲解pe(可执行)文件结构知识,汇编知识以及简单的编译原理,这些都是高大上欠缺的东西。然后沈怿心就很惊讶地发现,高大上在这方面有着连他自己也不自知的天赋。高大上可以非常简单地将低级的汇编语句同高级语言的语句对应起来,这固然可能是因为他的基础相当不错,但沈怿心还是从中感受到了不一样的味道。那些枯燥庞杂的知识,只要经过简单的描述,高大上就能够完全理解,似乎她并不是在传授知识,而是把自己的知识复给那个小男生一样。

在讲完内存分配机制,然后开始谈汇编的call语句和高级语言的函数概念的对应关系的时候,沈怿心问了高大上一个问题。

“你知不知道游戏修改,软件破解,或者其他黑客手段之间有什么根本的共同点?”

高大上一边在od(ollydbg,一种用于反汇编的动态逆向调试器)中步过查看各组寄存器和栈中的值一边说道:“都需要逆向工程?”

“错,如果是入侵一个网站的话,你怎么逆向调试呢?”沈怿心否定道,然后她给出了答案:“是想象力。”

“想象力?”

“没错。”沈怿心让高大上在某处设置断点,然后说道:“看这里,call就相当于程序中的函数或方法,注意call调用的地址,用你最熟悉的c#来说,这个地址就表示对函数的引用。”

“——这就是函数指针的意义。”

“没错。”沈怿心说道:“而函数的参数,则是那些在调用call之前压入栈中的那些数据,只不过顺序是相反的,你看,了解这些东西对你掌控与优化你写的代码很有帮助——现在让我们继续之前的话题,为什么说是想象力呢?因为我们做的事情其实是个猜心游戏,我们要猜测到开发者的思路,通过程序运行的表象想象并判断他会用什么样的方式去实现,然后找到我们需要的数据的位置或者其中的弱点,一旦我们成功了,那么……”

“我们就赢了。”

“没错。一旦你知道开发者的设计思路,那么我们就已经成功了一大半。”沈怿心说,“注意看栈帧的变化,注意看最后的这个弹出操作——局部变量离开作用于,栈中的临时数据就会被清空,这就是栈平衡……”

……

一个小时后,高大上开始写一款策略游戏的修改器。这款刚出了几个月的游戏思想深刻,充满了禅意,高大上曾经玩过几天,觉得很棒,虽然当他发现游戏中自己和自己的女儿生的女儿不是自己的亲生女儿之后就果断弃坑,但拿来练手还是很合适的,因为游戏自带的控制台系统一定程度上能降低修改的难度。

然后沈怿心和高大上就发现了一件很了不得的事情。

“为什么会这样?”高大上哑着嗓子说道,他没注意到这句话是他用嘴说出来的。

“我不知道。”沈怿心说。她的思维在剧烈的沸腾翻涌着,她不知道如果自己身体还在的话,是否会心率过速,但此刻,她能感受到高大上的心脏在剧烈地跳动着。

“是因为你穿越的原因吗?”高大上猜测着。

“我也不知道。”沈怿心回答。

高大上沉默了片刻,问道:“那么你能做到吗?”

沈怿心也沉默了。

“我做不到。”过了许久她才说道:“这……或许是上天送给你的礼物。”

“礼物……”高大上喃喃地说。

是的,礼物。不会再有别的解释了。但是高大上还是不明白这一切到底是为什么。

高大上没有信仰,如果一定要说的话,那么他的信仰是科学。然而没有什么无信者是一次奇迹所无法动摇的,如果有,那就两次。天上的神灵大概是基于这种想法,再一次让某种奇异的现象出现在了高大上身上。

他忽然发现自己可以读懂逆向后的汇编代码。诚然,汇编也是为了方便阅读而产生的程序语言,但是因为它的抽象度太低了,所以远不如诸如c或java之类的高级语言容易阅读。哪怕是知道执行的原理和语句的含义,想要像阅读高级语言的代码一样阅读汇编,需要多到恐怖的经验和熟练度。

然而高大上就不需要。在沈怿心老师进行授业时候,高大上同学听的很认真,学的也很认真,他甚至都没注意到自己学习的速度在沈怿心看来快的惊人。当他掌握了初步的知识,开始修改游戏的时候才注意到了这一点。接着,他就发现了更大的惊喜。那些汇编代码实在太好懂了,只要是认识的语句,在他看来仿佛是在阅读中国的当代白话说明文,甚至连运算指令对他来说都可以反射般地得出正确的结论。

一开始高大上以为这是沈怿心的帮助,但沈怿心很快就否定了,这完全是高大上自己的能力。他们试过让一小段汇编代码跑起来,运行的结果和高大上心算预测的结果完全一致,然后他们又尝试了几组复杂的公式计算,然后发现如果让高大上直接计算的话,他无法解答,但只要将公式和参数整理成c语言或者汇编代码,他就可以直接报出正确答案,在了解语法的情况下,他甚至可以很轻松地把c语言的代码和汇编代码互译——这已经不是经验或者才华所能解释的程度了。

这是奇迹。

在沈怿心看来,高大上现在更像是一个人形的动态解释器,他可以直接将抽象程度不高的语言以条件反射一般的速度转化成汇编并进行运算处理。那么更为抽象的语言是否也可以呢?沈怿心的答案是肯定的。她知道,只要高大上了解更多的知识,那么这个小男生一定可以做到这一点。

对于逆向人员而言,最大的难度就是无法快速高效地阅读汇编代码以评估其效果,然而这对高大上来说不是问题,小男生缺少的仅仅只是基础的知识而已。

“高大上,”沈怿心说:“你明不明白你已经拥有了最宝贵的天赋?”

“我知道。”高大上说,然后他重复了一次。

“我知道。”

于是在0与1构成的世界中,ffpaprika的风暴来袭了。

高大上高大上的黑客之路终于开始了

(本章完)

都市言情推荐阅读 More+
违规玩家

违规玩家

灰色墓碑
提供违规玩家全文免费阅读,如果您喜欢灰色墓碑创作的违规玩家,请分享给您的好友一起在线无弹窗免费阅读。
都市 连载 139万字