第四十六章 破译
作者:非奇异矩阵   四进制造物主最新章节     
    海滨城市的夏季向来以温暖湿润著称,而仪器室里由于需要用低温和干燥来延长仪器和试剂的寿命,所以除了依靠大功率空调保持20度室温的同时,还有一台除湿机24小时全功率运作。

    卢赫被冻得直哆嗦的同时,也感觉到鼻子一直在往外冒火。他就这么一个人焦躁地躲着脚,等待着返回宿舍拿硬盘和衣物的艾达否。

    半个小时后,门终于被推开了。他惊喜地转头,却发现来者不是艾达否,而是王戊。

    “卢赫?大半夜的还在这儿做什么呢?”王戊没有走进门,只是探进来了个头,吃惊地问。

    卢赫也有些惊讶,一改瑟缩的姿态,挺起胸问:“王老师这么晚怎么也没下班?”

    “哎呀,别提了。我教学生做实验,那帮小姑娘笨手笨脚的,一晚上都没学会。”王戊皱着眉说,话里满是无奈和不满,神情和语气却饱含着沾沾自喜。

    “那可真是辛苦您了呢。”卢赫装作不经意地走到摆着散乱螺丝头的置物架前,试图用身子遮挡住锌指平台的屏幕,“我趁晚上人少,约了台仪器。已经用完了,马上也就回去了。”

    王戊把脖子往前探了探,注视着卢赫身后的那一角莹莹蓝光,意味深长地说:“锌指平台这种东西,还需要等人少的时候用吗?这破烂仪器平日里一个月都不会有人用一次。”

    “是,是我多虑了。今天晚上还真没人跟我抢。行了,我准备收拾收回去了,您也早点回家休息啊,王老师。”卢赫讪笑着说完,掏出手机想要给艾达否发信息让他别回来了。

    王戊站在原地,似笑非笑地眯着眼继续问道:“卢赫,你不会是,又在养乌龟了吧?”

    卢赫怔了一下,收起脸上的笑,认真地答道:“王老师真是多虑了呢,您是了解我的,我既不养乌龟,也不养黑胶虫。我没那个能耐。”

    正说着,身后响起了熟悉的声音,“喂,让一让,借过一下。”

    只见艾达否一把把屏蔽门推到大开,然后从王戊身后冒了出来,径直走到卢赫身边,好似王戊不存在一样。

    王戊见状,悻悻地走了。

    艾达否从口袋里掏出硬盘,插在仪器上,重启进了dos界面。

    卢赫在他身后观望着,好奇地问:“老艾,我看你好像不太待见王戊啊。”

    艾达否一边敲打出一行行命令,一边语气不屑地回答道:“那种人有什么好待见的,学术妲己而已。”

    卢赫吃到了惊天大瓜,连忙追问:“此话怎讲啊?他一个男的,怎么就妲己了。莫非,他是同志?”

    “你个死变态,想哪儿去了?”艾达否嫌弃地转头看了一眼卢赫,然后继续着手里的活儿,“他是学院里出了名的交际花,每天孜孜不倦地给同组的女博士和刚升上去的女讲师献殷勤,只为蹭论文作者。”

    “哎你别说,有人还真就吃他这一套,让他顺利蹭到了一个顶刊共一和几个二作,顺利留了校。这人学术水平不咋地,人品也不咋地,脑子还缺根弦。据说他毕业前夕,大年夜地跑到王峰家里去送礼,把人家烦得要死。”

    “虽然王峰也不怎么待见他,但架不住人家和学院女领导关系好啊,最终还是被留下来了。我可跟你说,趁早躲着他点,就这种能人,分分钟把你枯燥的科研路给变成甄嬛传。”

    艾达否说完,把硬盘一拔,往兜里一揣,拍了拍手,“走吧,回宫去吧!”

    “就,就这?就完事儿了?”卢赫被不可思议到话都说不利索了,“那你快说说这仪器里到底有什么秘密?”

    艾达否一个手刀削过了卢赫头顶的呆毛,“异想天开什么呢?我只是克隆了一个镜像系统,这大几百万的东西,可不能在上面胡来。快扶本王回宫。”

    “喳。”

    回宫后,艾达否坐到自己王位上,翘着右手小拇指,捏着硬盘的usb口,插入到他的主机上,把镜像系统导入虚拟机,然后畅游在其中。

    503寝室的灯亮了一夜,第二天一早,艾达否推醒了一旁抱着椅子睡得正香的卢赫。

    “小赫子,快醒醒,朕要施展绝技了。”艾达否指着屏幕上一个屎黄色的文件夹,“看看,这个immortal,就是核心程序的主文件夹。不得不说,上个世纪的码农还都挺中二的,这单词是什么意思?永垂不朽?”

    卢赫揉了揉眼睛,打了个大大的哈欠,“这词是永存和不死的意思吧,寓意很好啊。”

    艾达否撇撇嘴,打开一个叫exeinfope的软件,把文件夹里一个名为immortal.exe的文件拖了进去,然后按下了回车键。

    进度条飞快地走着,不一会儿,软件下半部显示出了两条信息:

    microsoftvisualc++v2.0-100x-(x86)

    脱壳成功

    “完美!”艾达否激动到拍桌,“古董软件就是如此简单。也许他们的加壳手段在当时看来很复杂,但在20年后的今天,脱壳就像喝水一样简单。”

    “什么是加壳脱壳啊?”卢赫被触及到了知识盲区。

    “加壳就是为了防止软件被破译,在指令的头部写入一层额外的指令,把程序入口点和动态链接库的地址表隐匿起来。”艾达否说完又思索片刻,“打个不太恰当的比方就是,你不想被别人看光光,所以要穿衣服,这叫加壳。现在我非要看光你,就强行把你衣服给扒了,这叫脱壳。”

    “变态。”卢赫捂住自己的领口,“那下一步呢?”

    “下一步啊,那就是我的拿手绝技了,对这些可执行文件和动态链接库进行逆向分析,尽可能全地反推出程序源码。”艾达否说着拍了拍自己胸脯,“这破软件是c屁屁写的,我拿手,放心好了!”

    于是之后的一周里,503寝室的就寝率急剧地从0%提升到了77%,虽然天花板上的那盏老旧的吊灯,每日都不堪重负地彻夜长明。

    那个和艾达否同名的软件,一如既往地给力,仅用静态分析,便还原出了80%以上的高级语言。艾达否孜孜不倦地啃食它们,可吃完了以后,却发现自己吃了个寂寞。

    因为那些能够被解析的部分,全部都在调用系统接口,从对象属性、函数名和执行逻辑来看,它们的功能仅仅在于读取交互数据,以及把不知道从哪里蹦出来一长串字符通过自定义的接口,传递给另外一个明显是用来自动化操纵硬件的软件。

    这就像好不容易把别人衣服给扒下来了,却发现人家还额外穿了一套内衣,一个点都没露。想要一饱眼福,就要再去做动态分析和黑盒分析。

    动态分析就是给程序打断点或者干脆直接单步执行,观察寄存器、内存数据和堆栈的变化,猜测程序做了什么;黑盒分析就是给程序输入大量的测试样例,通过观察输入和输入数据的关系,猜测程序到底做了什么。

    <script type='text/javascript'>try{ggauto;} catch(ex){}</script>