进入头儿办公室,发现他正在桌上写着自己的东西,好像是论文。
我的心放了下来,一般头儿要批评我,一般都会盯住我的。现在他居然连头都没抬。
“刚才总部那边打电话来,叫我们派一个解密高手过去,我现在没时间,你替我去吧”
“做什么呀,我可不是干解密的,这不是你的老本行吗?我的程序还没完呢?”我还要搞胡队长的路由器呢,我想推脱。
“没关系,工作量照算,手头的工作放下,这可是部长亲自要的人。”头儿,抬头笑着看了我一眼,继续说:“估计也都是些鸡毛蒜皮的事情,大概是机器被病毒感染之类,你去玩玩吧。”
天,部长亲自要的人,这下可不敢推了。我们头儿确实是一个搞实事的人,连部长亲自点名,都不想去表现一下,把我顶上了。我心想,这些事情不是都是网络部那些人的事情吗,怎么总部叫上我们软件部的人了?
总部的办公搂修的就是他妈的气派,进去的感觉像进了星级宾馆。我直接到指定的办公室。看见胡队长居然也在,还有财务部一个计算机比较牛的家伙。除了部长外,部长对面居然还坐着一个警察,确切的说是一个非常年轻,估计22上下的女警察。那身警服,让我感到很困惑,我们单位谁犯事儿了?
“是软件部的吗?张博士怎么没来?”部长说话了。
“我是张主任叫我来替他的,他有事,来不了。”我赶紧向部长解释。
部长没说什么 ,开始招呼我坐下,然后接着说话了:
“这次叫大家来,主要是我们的友好单位需要我们的帮助,这位是市刑警大队的小林警官,他们一个案子涉及到计算机方面的问题,需要大家帮助。在座的各位都是相关部门的计算机优秀人才,再说协助警察,打击犯罪,也是每个公民应尽的义务,所以请在座的各位尽力协助林警官把事情办好……下面请林警官和你们具体谈。”。做官的人说话都这味道,我知道怎么回事,心里立刻松弛下来。呵呵,看怎么回事。没想到今天还和警察接触,而且还是个案件。呵呵,好玩。
部长和那位林警官打了几个哈哈后,离开了办公室。现在屋里就我们四个人了。
我坐在小林警官斜对面,部长走了,呵呵,没压力了。我开始打量她。哇,现在女警察的新制服还真的好看。挺精神的。而且这位林MM,怎么形容呢,应该说很“俊俏”。圆圆的脸,大大的眼睛,白皙的皮肤,短发,就是通常我们说的“乖乖”型的。而且两个小小的酒窝也满可爱的。
部长走了,就剩下三个大老爷们,都等她说话,小林有点不自然了。看的出来,她应该也是刚干这个不久吧。她过了一会儿,硬着头皮开始给我们介绍情况。
原来是他们有个案件中,有个嫌疑犯始终不肯交代。而他们没有其他的证据,只有一份被加过密的计算机文件。警方怀疑这位文件里面都是证据。所以想解开,但是这个文件是被一个不知从哪里down的不出名的软件加密的。网上无法找到解密程序。他们的人努力了很久,也没有办法解开。所以只好请我们部的人帮忙了。因为我们部的计算机应用水平在这里是出了名的,虽然我知道这都是“宣传”的结果,说白了就是“吹牛”的结果。但是他们反正是动用组织关系,找上门来了。
我一句话都没说。偶尔看看林MM,再看看胡队长。这轮不到我说话。我也不想说话。呵呵。
“会不会是word文件加了密码?如果是的话,我能解开。” 胡队长终于说话了。
我差点笑出来,靠,如果是word,用得着刑警队这么兴师动众?人家不是说了吗,是一个国外down的不出名的程序加的密。
“不是,是一个国外下载的叫filelock的程序加的密。”林mm看来还是行家。从她的眼里,我看到了一丝失望。大概她没想到我们这位计算机高手会问出这么外行的话。
“可以到网上搜索一下,一般都会有解密程序。”胡队长继续说。
“但是我们没找到。”她停了一下,补充到:“这个软件非常不出名,所以我们没有办法联系到作者,而且网上一般很少人使用这个软件,所以,对它的破密程序应该没有吧。”
我以想像,他们刑警队已经经过了不少的苦战了。
“我们曾经对这个程序进行逆向工程,但是这个程序好像加过密,我们没办法读懂它的程序,跟踪也失败了。”林MM现在好像比较自信了,大概看出我们的胡队长没什么了不起的吧。
财务处那个哥们一句话也没有说,我估计他听懂没有都难说,他是真不敢说话。呵呵,我是不想说话,我想看看胡队长到底有几把刷子。呵呵。
胡队长也看出来了,这位林警官不是外行。说不定就是他们警队的计算机高手。谁也不比谁傻多少。对内行,靠说空话是没什么用途了。他对网络配置再熟悉,但是对加密解密我敢说他是个外行。因为加密解密技术,一般不通过系统的学习是很难掌握的。胡队长一个搞化学的半路出家,整天都搞网络配置去了,哪有时间去研究这些。所以说他是外行绝对不过分。至于财务处的那位哥们,这可和注册表没什么关系。所以,我怀疑他压根就没有听懂。呵呵。
“那就没办法了,谁知道他用了什么鬼办法加的密?藏东西容易,找东西难啦。”胡队长开始要打退堂鼓了。
“是呀。”林MM敷衍的笑笑。有些失望了。然后例行公事地说:“其他两位同志有没有好方法?”她的目光扫着我们。
财务处那位哥们尴尬的笑笑“没办法,这个确实困难。”
林MM把目光停在我的脸上,询问的望着我。手里已经开始收拾笔记本,看来准备走了。
“你们能提供那个filelock软件吗?”我开口了。
我看到林MM的眼睛一亮,不迭的回答“能能,当然能。我们有这个软件,就是分析不出来。你可以帮我们分析吗?”
“呵呵,我也不是很懂,比你们刑警队的高手差远了。不过,可以帮你们看一看,瞎猫碰着死耗子的事情,也难说。哈哈。”胡队长在这里,话不能说的太满,否则,我们的网络日子不好过,等我拿到你路由器密码的时候,呵呵,我才不怕你呢。
林MM脸上露出了笑容。其实她也是年轻人。只不过工作关系,故意搞的比较严肃。现在,我这么一说,她也松弛下来。
“对对,让我们小王碰碰,说不定能碰出来。”胡队长故意把碰字说的很重。
我呵呵的傻笑着。
大家都哈哈笑着,走出办公室。
我看到胡队长脸上的一丝不悦,尽管他在笑。我想,我们部的网络肯定又要出问题了。搞他的密码必须赶快呀。
我慢腾腾的走出总部的大楼。正在考虑如何搞胡队长的密码。
刚出大门,听见有人喊:“唉~~”
我一看,一辆白色桑塔纳警车,里面一个女警察对我大叫。不就是刚才那个小林警官吗。
“叫我吗?我不姓唉,我姓王。”我走过去,“你还没走?”
“呵呵,我知道。这不是等你吗?你到哪里,我送你吧。”林MM有点腼腆的笑。
“我就住城北,不远,3站路。”我大方的拉开车门,坐在前面,她的旁边。“走吧。”
警车开动了。这辈子桑塔纳坐的多了,但是戴警灯的还真是头一回。感觉真是有点怪怪的。车子开动了。
“你帮我们破译那个程序,你需要些什么条件和工具。我们可以尽量提供。”原来她还是没有忘记她的工作。
“你是学什么专业的?不会是刑侦吧?”我问。
她一愣,然后说:“你猜呢?”
“我觉得你绝对是学计算机的。”
“为什么?”
“不为什么,就是觉得是。你说对不对吧?”这个倒不是乱说的。学计算机的人遇到一起,几句话可能就能感觉出来。真的。
她笑了,没有说话。我想我是猜对了。
她现在说话随便多了。“你能不能破译这个程序?”两个搞计算机的人说话,不需要再说废话了。
“你跟踪过那个程序,感觉如何?”
“有点难,他做过加密,还有反动态跟踪。我跟了几个星期,实在跟不下去了。”
“看到他的密码算法了吗?”
“唉,就是没有呀。”
“其实,动态反跟踪这些,倒是还好办。就怕最后跟出来,加密算法用的是什么世界上的通用算法。这就麻烦了。能不能破译,基本就是看运气了。”大概看我说的东西确实是比较内行,现在她完全相信我了。而且开始把希望寄托在我身上了。
“一定要帮帮忙,这个案件对我们比较重要的。”
“这个需要时间呀,我慢慢试试看吧。”
很快就到我宿舍门前了,我下车。
“很高兴认识你,我叫林紫嫣。你叫什么,能给个email或者QQ什么的?我把程序发给你?”
我告诉了她的我的名字还有我的电话,以及email和QQ.客套地说:“要不上去坐坐?”
“下次吧,bye.”她的车已经开动了。
晚上上网的时候,发现QQ上已经有人请求加为好友了。呵呵,一看,网名叫若烟。可能是林警官吧。同意加为好友之后,一问,果然是她。
她迫不及待地把那个filelock程序给发过来。
我收了。程序很小,100k不到,只有一个简单的窗口界面。我一边和她聊着天,一边调出softice开始跟踪。呵呵,其它不敢说,但是跟踪程序,解密加密还真是我的强项。
其实我们国家加密解密的黄金时代应该是使用dos操作系统的时候。那个时候,可以说加密解密就是高手的代名词呀。那个时代,无数的高手投入到这个加密解密的战场上来。那个时候无论加密还是解密,想出来的办法那才真是叫绝呀。现在windows下,程序大了,跟踪程序愈发困难了,还有防盗版的思想从技术层次发展到了法律层次,所以加密解密就弱化了。加上网络的流行,高手们几乎都把注意力转向了网络程序的攻击了。
我的加密解密功底就是那个时代练就的。当时解密kv300的钥匙盘,就是我的入门课程,debug就是我的最爱呀。后来硕士毕业论文,我的课题就是加密解密技术探讨。当时提出的一个万能解密技术在国内也是首创呀。我的导师都佩服的不行。
但是,跟踪程序仍然是非常艰苦的。你不要相信有些人吹牛,说自己一晚上就把一个几百k的程序读懂了。还破解了。绝对是吹牛的。
我跟了一段之后,还很顺利,但是很快就陷入僵局了。看来这个家伙采用过反动态跟踪技术。我心里有底了。对这个程序,不是普通程序,必须要慢慢来。这个家伙既然写加密程序,对解密绝对也不是菜鸟。解密的那些招数,他会不知道?反跟踪,首先就是反静态汇编。这个技术是加密者所必须的。就是让你反汇编出来的程序你无法读懂。不过,从理论上来说,程序都是可以破译的,因为不管你如何变换,必须要计算机能正确执行。但是让你无法读懂,计算机又能执行,这是容易办到的。比如给你加个1000个无意义的循环。计算机能执行。但是你能读懂吗?你不执行还不行,因为后面的代码必须要通过这个1000个循环来解密。你动态跟踪,他给你加入一些反跟踪措施,比如看内存中是否有调试程序,如果有,立刻拒绝执行。甚至让你的debug死机。甚至更绝的是通过执行时间来看是否跟踪,你如果跟踪,你的时间肯定长,直接连续执行,你肯定短的多的多。当时那帮高手们,当时我崇拜的偶像,现在几乎都是IT界的风云人物了。而且后面的程序是重新加过密的,执行一段,解密一段。在内存中基本就只能看到很少的明文,全是密文。要对付当时那帮高手,才是真的难呀!
我跟踪了一阵那个程序。他的加密方法比较简单,就是使用的反复变换的方法。首先就是对自己进行了多次变换,就是我们说的加壳。而且他不是使用现在流行的什么 arj,什么zip加的壳。而是自己整的一个算法加的。这个程序一共使用了3种变化方法,加了3层外壳。这些早在我的预想之中,所以,我很快就把他的三个外壳脱掉了。现在内存就出现他的原始汇编代码了。但是事情没有完,他采用了隐含调用方式。也就是当调用程序的时候不是使用call或者jmp等指令。而是拼命往堆栈压入数据,弹出数据,大部分是无意义的数据,根本就是麻痹你的。等你即使是孙悟空的脑袋也该昏了的时候,他才把正确地址压入,使用ret指令就转移了。你根本就看不到一句call和一句跳转指令。
看了他的代码,有防softice的代码。只要使用softice的跟踪,就死机。呵呵,他的招数比较老,所以我早有准备。我的softice是经过我改造的。他发现不了,所以对付他那些变换招数,因为可以动态跟踪,所以他那些什么隐含调用啊,什么加壳呀,全失去了作用。呵呵。
我给林警官发消息:“你跟踪到什么时候就不行了?”
“就是脱壳的关键代码段的时候我的softice就死机了。”
呵呵,看来她的softice没有经过改造。当然死机了,每个解密的关键代码前面就有反softice的代码。而且你还不能跳过,跳过,后面就无法解密。当然就死翘翘了。
“你跟踪到哪里了?”林MM问。
“我?呵呵,脱壳完成了。”
“真的吗?你怎么没死机,你用什么跟的?”
“当然是softice,还有什么?”
“啊,你如何跳过他的反跟踪手段的呀?”
“我就一直跟呀,就没死机。”我故意装糊涂。呵呵,我怕她问我要那个程序。到时候不好推辞。真正的黑客是不会轻易把自己的工具送人的。况且对方还是个警察。
“呵呵,你骗我。”林MM当然知道怎么回事。笑笑,也没继续问了。
“你干警察多久了?” ,我一边继续跟踪已经脱了壳的程序,试图找到他通过解密文件的代码。
“一年多点儿。”她回答,“你觉得破译有希望吗?”她总是关心她的工作。
“你什么学校毕业的呀,”我无聊地问。同时自己使用那个软件,加密了一个文件。然后使用这个软件打开它,输入密码,试图找到她校验密码的过程。
“你查户口呀,要查户口我可以帮忙。”消息后面跟了个俏皮的笑脸表情符号。
呵呵我回了个红脸的符号。
这个时候我发现了filelock程序的密码变换代码段。同时也发现了密码在文件中的位置。当然是经过加密变换的。
只要把这段密码变换代码读懂,如果不是很难的算法,基本就能解决了。我心里高兴起来。
“我找到密码变换入口了。”我给林MM发消息。
“太好了。真的吗?”我几乎能感到她的兴奋。她是懂行的,知道找到密码变换入口,几乎就成功了一大半。
“别高兴的太早,看他的密码变换算法了。god bless you.”我必须要泼泼冷水。其实说实话,对这个程序,才几个小时就能跟踪到密码变换部分,已经大大出乎我的意料了。可以看出其实这个程序本身也不是非常严密,毕竟只是网上的一个加密程序。又不是商业程序,说不定就是一个初学加密的人搞的试验程序。
我本来是做好通宵战斗的准备的。现在看来,似乎是非常的顺利。
我倒了一杯水,开始慢慢的喝着,一边静下心来开始读那段密码变换程序代码。根据我的经验,真正考验毅力的时候到了,因为这是密码变换,你必须每句每句都读懂。不像动态跟踪,你可以大段大段的自动运行。只有你理解了这个加密过程,你才能通过逆过程把文件中的密码变成明文。而采用的密码变换为了不被别人破译,通常会非常复杂。写的时候,作者一般也不会使用标准方式写,简单的说就是,怎样让你读不懂,就怎样写程序。反正就是让你读不懂就对了。
凡是读过别人程序的人一般都知道,读别人的程序,有时候还不如自己写一个。现在我读的时候是别人故意让你读不懂的程序,困难度可想而知了。
“可以把那段密码变换程序发给我吗?”林MM发消息过来了。
“of course.”我把代码的屏幕copy给她发过去了。
