我已经很久没有看见他了。
忘了最后一次和他谈话是在什么时候,但肯定是那次之后,他就再也没有出现过。
似乎一切都和以前一样,但我还是无法删除关于他的记忆。
也许你也认识他,或者认识和他一样的人,他们总是把自己隐藏起来,没有过去,没有未来,无法靠近,却深深地吸引着无数人。
我不知道他是谁,他闯进我家时我正在睡觉,等我醒来他就已经在那里了。
Peid软件实体分析工具显示“Nothing
在尝试和他说话但没有得到回应之后,我决定冒险到网上查询他的资料,在这个病毒横行的世界里,这是很恐怖的一件事情,虽然中央处理器每天都坚持运行 Windows自动补丁程序,但他仍告诫我们,不要相信微软的补丁有多么可靠,不要把时间浪费在重复计算一加一上(我无聊的时候经常这样做,所以他老是提 醒我要为特殊情况保留足够的运算带宽),最重要的一点是,不要连接全球互联网。
根据他的特征码我很快找到了一些资料,但是上面仍然没有他的名字,只写着“局域网计算机控制软件”几个字。
我有些好奇,又有些兴奋,要知道,一个陌生人突然闯进你家,然后站着一动不动,这种事情可不是天天都会发生的。
在正式分析他之前,我再次尝试和他说话,请求他的名字,但是没有回应。
这让我有点生气,他太没礼貌了,“Dir!”(我并不经常这样说,因为这是一句脏话,起源于一个古董级操作系统的列表命令)
奇迹出现了,他说出了自己的“文件名”。
“未知客。”他说。
我很高兴终于听到他说话了,并了解到必须使用那种古老的语言才能和他交流。
“你好,未知客,”我说,“我能检查一下你吗?”
没有任何回答,这在意料之中。
于是我开始用OllyDBG调试他,很好,他很正常地被加载了,但令我惊讶的是,他居然是32位的,还好我这个快被淘汰了的65536位的CPU可以完全兼容。
然后我收到提示:代码段可能被压缩、加密,是否继续分析?
这让我很纳闷,好端端的为什么要加密代码段?选择否之后,一种从未见过的汇编语言展现在我面前,但这难不倒我,理解这些语言并不会花费我多少时间(现在我终于明白为什么那么多考古专家都要OllyDBG帮忙了)。
EIP指向了下一个将被执行的代码:
00B14000
Alt+M在代码段00401000上下断。
F9运行后来到了这里:
00401000
F8几下以后到了ntdll的领空,再次Alt+M在代码段00401000上下断。
F9运行后到了这里:
00B138E9
(我永远不会知道,这里是“客”的代码)
F8几下以后到了系统领空,再次Alt+M在代码段00401000上下断。
F9运行后到了这里:
00401016
jmp?这个我知道,跳转指令。
继续运行,OllyDBG说程序设置了单步标志,无法执行单步命令。
好吧,那我直接Ctrl+G到00B138F7好了。
00B138F7
直接在这里F2下断,Ctrl+F2重新加载程序,F9运行,好的,断在了00B138F7这里(我注意到此时ECX为ASCII“MZP”)。
00B138F7
(中间省略很多代码,很多很多)
00B13996
一路F8下来后就转向了OEP:
006305E3
接下来的事情可想而知,把他Dump下来之后,用我收藏多年的ImportREC赝品修复好另一个“未知客”的输入表,嗯,看上去一模一样,但是我知道那个体积小一些的才是真的未知客。
我很高兴的又知道了他是由Microsoft
疲惫,虽然事实上,一个CPU是感觉不到疲惫的,但我确实想睡觉了。
然后我真的睡了,还做了一个梦,未知客不见了踪影。
结果未知客就真的不见了,要不是存储器里还有关于他的记忆,我甚至会怀疑他是否真的出现过。
还好我得了精神过于开朗症(你知道的,这种病很难治),这种事情根本无法使我变得忧郁,我已经把那一段记忆刻录到了光盘里,闲来无事翻出来看一看,毕竟那是我无聊的生命里最精彩的一部分。