你别说,有人还真就吃他这一套,让他顺利蹭到了一个顶刊共一和几个二作,顺利留了校。这人学术水平不咋地,人品也不咋地,脑子还缺根弦。据说他毕业前夕,大年夜地跑到王峰家里去送礼,把人家烦得要死。”
“虽然王峰也不怎么待见他,但架不住人家和学院女领导关系好啊,最终还是被留下来了。我可跟你说,趁早躲着他点,就这种能人,分分钟把你枯燥的科研路给变成甄嬛传。”
艾达否说完,把硬盘一拔,往兜里一揣,拍了拍手,“走吧,回宫去吧!”
“就,就这?就完事儿了?”卢赫被不可思议到话都说不利索了,“那你快说说这仪器里到底有什么秘密?”
艾达否一个手刀削过了卢赫头顶的呆毛,“异想天开什么呢?我只是克隆了一个镜像系统,这大几百万的东西,可不能在上面胡来。快扶本王回宫。”
“喳。”
回宫后,艾达否坐到自己王位上,翘着右手小拇指,捏着硬盘的USB口,插入到他的主机上,把镜像系统导入虚拟机,然后畅游在其中。
503寝室的灯亮了一夜,第二天一早,艾达否推醒了一旁抱着椅子睡得正香的卢赫。
“小赫子,快醒醒,朕要施展绝技了。”艾达否指着屏幕上一个屎黄色的文件夹,“看看,这个Immortal,就是核心程序的主文件夹。不得不说,上个世纪的码农还都挺中二的,这单词是什么意思?永垂不朽?”
卢赫揉了揉眼睛,打了个大大的哈欠,“这词是永存和不死的意思吧,寓意很好啊。”
艾达否撇撇嘴,打开一个叫ExeinfoPE的软件,把文件夹里一个名为的文件拖了进去,然后按下了回车键。
进度条飞快地走着,不一会儿,软件下半部显示出了两条信息:
脱壳成功
“完美!”艾达否激动到拍桌,“古董软件就是如此简单。也许他们的加壳手段在当时看来很复杂,但在20年后的今天,脱壳就像喝水一样简单。”
“什么是加壳脱壳啊?”卢赫被触及到了知识盲区。
“加壳就是为了防止软件被破译,在指令的头部写入一层额外的指令,把程序入口点和动态链接库的地址表隐匿起来。”艾达否说完又思索片刻,“打个不太恰当的比方就是,你不想被别人看光光,所以要穿衣服,这叫加壳。现在我非要看光你,就强行把你衣服给扒了,这叫脱壳。”
“变态。”卢赫捂住自己的领口,“那下一步呢?”
“下一步啊,那就是我的拿手绝技了,对这些可执行文件和动态链接库进行逆向分析,尽可能全地反推出程序源码。”艾达否说着拍了拍自己胸脯,“这破软件是C屁屁写的,我拿手,放心好了!”
于是之后的一周里,503寝室的就寝率急剧地从0%提升到了77%,虽然天花板上的那盏老旧的吊灯,每日都不堪重负地彻夜长明。
那个和艾达否同名的软件,一如既往地给力,仅用静态分析,便还原出了80%以上的高级语言。艾达否孜孜不倦地啃食它们,可吃完了以后,却发现自己吃了个寂寞。
因为那些能够被解析的部分,全部都在调用系统接口,从对象属性、函数名和执行逻辑来看,它们的功能仅仅在于读取交互数据,以及把不知道从哪里蹦出来一长串字符通过自定义的接口,传递给另外一个明显是用来自动化操纵硬件的软件。
这就像好不容易把别人衣服给扒下来了,却发现人家还额外穿了一套内衣,一个点都没露。想要一饱眼福,就要再去做动态分析和黑盒分析。
动态分析就是给程序打断点或者干脆直接单步执行,观察寄存器、内存数据和堆栈的变化,猜测程序做了什么;黑盒分析就是给程序输入大量的测试样例,通过观察输入和输入数据的关系,猜测程序到底做了什么。
请收藏:https://m.rwxs8.cc
(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)