书城短篇糟糕侦探
6776800000032

第32章 混淆的代码(三)

(三)

出了徐总的办公室,外面是员工办公的大办公室,其实说是大房间,也不算大,大约也就是有徐总那个办公室面积的的3倍左右吧,外面有7、8张桌子,都是用软隔断隔开的,在场有三个员工。

我和他们一一打过招呼之后,大致明白了这儿的人员情况:一个是领头的,技术总负责的,老冯;一个是和田雨类似角色的,叫小李;还有一个女孩子负责测试的,叫张丽。除了三个在场的,还有几个销售,可能是出差了。

我就把老冯叫到了外面,因为这个办公室说话的确是不太方便——这边一说话,剩下那几个人就不用干别的了。

老冯虽然被那几个人称之为老冯,我看岁数也就和我差不多,只不过在那几个人之中,算是老的了。

我说:“老冯,你工作好几年了吧。”

老冯拿出一盒烟来,让了我下,看我不抽,自己点上了,抽了一口说:

“快十年了,念书念的少,家庭条件又不好,就早点工作呗,呵呵。”

老冯憨憨地一笑,就没有话了。

“能跟我说说田雨的事吗?就是他自杀之前的情况。”我问道。

老冯眉头紧锁了一下,叹了口气,说:

“唉,小田这个小伙子啊,是个好人啊,可惜了。”

我一听这话茬似乎就不对,好像是另有什么隐情的意思,我赶忙问:

“怎么回事,慢慢说。”

老冯说:“其实倒是没啥大事,小田应该是太累了。原本这个项目应该是我、小田、小李我们三个人负责的,本来工期就有点紧,三个人干就有点忙不过来。但是临时又赶上我有事——上个月,我老婆生小孩了,我又请假回去照顾。所以实际上就是小田和小李两个人负责。”

老冯抽了口烟,继续说:

“小田技术好,业务又熟悉,来公司时间又比较长,小李各个方面都不如他,所以干的活小田就多一些,表面上是他们俩负责,实际小李就是给田雨打打下手,干点杂活而已,还是田雨挑大梁。”

我有点不解了,问道:

“你们工作不是有计划吗?你有事请假了,公司这边不是得再加派人手吗?”

老冯苦笑了下,对我说:

“哪有那么多人手啊,加派人手不得给人家钱啊,徐总才不肯呢,其实这种情况出现也不是一次两次了,我们遇到这种事,都是家常便饭,明天说要什么东西了,今天晚上大家就得拼命加班。”

我插了一句:

“加班不给钱吗?”

“给钱?这个属于你工作没完成,还给你钱?”

“那你们这个工作没个计划吗?”

“计划?”老冯一副无奈地表情,说:

“哪有计划啊!要是真正按照老外的那种严格规定做,一个计划就得做个好几个月,先是可行性分析,然后需求分析、总体设计、详细设计、编写代码、单元测试、集成测试、上线、试运行、验收等等吧。我们这个小破公司,哪有那么多人力物力啊,真按照这个做了,老板得雇佣多少人啊,花的时间得是现在的好几十倍,到头来老板一分钱也赚不到了。我们现在这种做法就是几个人,一使劲,加加班把东西做出来,凑合着能用就行了,那边一付钱,就万事大吉了。”

老冯的这几句话说得通俗易懂,不过倒是让我明白了这里面的一些内幕,我大概能想象出田雨的处境了,我问:

“那田雨自杀前有没有什么反常的行为呢?比如说大哭大闹,或者是和谁有冲突?”

老冯说:“这个好像还真没有,他挺正常的啊,我回来上班那天,就是他自杀的那天,那天也是要交付代码的最后期限,他那天之前的两天都没有休息,不过终于在最后交付期限之前把代码提交了,他是把代码提交到我们公司的SVN服务器上的(见附注2)。他提交完了,还给我发了封邮件通知我,也挺正常的。”

可能是我最近和小童接触多了,我习惯性地用破案的思维方式想了下这个事,我隐约就觉得这件事有点不对劲,就随口问了老冯一句:

“其他的还有没有什么奇怪的事情发生呢?”

没想到,这一问,还真被我给问着了,老冯想了想说:

“还真有一件事,有点奇怪。”

“什么事?”

“田雨这次提交的代码,是经过混淆后的(见附注3)。”

“哦?什么意思?”

“我们这个项目写的代码,主要是javascript代码(见附注4),这种代码实际是在客户端运行,也就是说是在客户本地的浏览器上运行。这种javascript代码在运行的时候,是先下载到客户本地的机器上,然后在客户的机器上解释执行的。这样一来,客户如果留意的话,是可以看到我们写的源代码的,有的客户可能是因为好奇,有的客户可能是想故意使坏,他们就会篡改我们的代码,导致程序不能正常运行。我们为了防止客户篡改或者分析我们的代码,我们就把写好的javascript代码用一些机器程序混淆一下,混淆之后的代码,机器照样能识别,能运行,而人去看,就比较吃力,这也是一种加密的手段吧。”

“那田雨加密了,不是正应该吗?”

“我们一般加密,都是在最后阶段,马上要交付给客户使用了,才加密的,而不是刚写好的源代码立即就加密。就好比一个大楼,你负责盖一楼到三楼,我负责盖四楼到八楼,我们是等楼全部盖好了之后,再一起粉刷墙壁,而不是你盖好了你的部分,就立即粉刷的。”

“哦……,是这样的啊。”我似懂非懂地点了点头。

老冯继续说:“田雨提交的代码,这几天我们用了下,发现是可以用的,要求的功能也都有了,可唯一缺点是:他的代码加密过了,我们看不到源代码,这样如果业务需求有变化的话,我们就没法修改源代码。不过这个项目,需求已经确定了,似乎应该没什么大问题,田雨这个提交之后,我们也做过简单的测试了,基本可以交付给客户了,拿到钱,应该是没问题的。”

“那田雨平时总是提交加密过的代码吗?”我问老冯道。

“没有啊,他从来都是提交没有加密的,而且是能运行的源代码,有几次别人提错了,他还生气了呢。”老冯说。

“那就奇怪了啊。”我一边嘟囔着,一边想。

老冯光顾着说话了,一支烟就抽了一口,已经烧没了,老冯赶紧把烟头踩灭,对我说:

“我得回去干活了,改天聊,要不徐总看我出来这么长时间会生气的。”