我喜欢龙舌兰,尤其是Añejo。这种在橡木桶里沉睡过的烈酒,褪去了年轻时的锋芒,添了几分复杂而柔和的层次感,像一个阅历丰富却又不失风趣的灵魂。我就喜欢这种有点装的。
所以我的办公室里有两样东西从不缺席:一是来自墨西哥哈利斯科高地的陈年龙舌兰,二是谎言。前者是我买的,后者是客户带来的。说实话,我分不清哪样更辣口。
那天下午,深圳的暑气正被一场突如其来的雷雨冲刷,空气里满是湿漉漉的泥土味。李泽的电话就是在这时打来的,他那家叫奶油游戏的游戏公司出事了。
“说真的,老李,”我对着电话那头的人笑道,“你们做游戏的,想象力比我还贫乏。每次出事,都只会说有内鬼终止交易这种老梗。听着就无聊。”
电话那头传来一声苦笑。“哥别搞。这次,我真的需要你的脑子。来我这一趟,我请你喝你不舍得买的 Clase Azul.”
“Deal.”
李泽现在正处在风口浪尖。他们研发五年的开放世界大作《飞升之后》,即将在下个月公布,承载着公司上市的全部希望。但是整个游戏的设计稿和试玩视频,前几天全部泄露。
老梗归老梗,确实有内鬼。
“奶油游戏”的办公室与其说是一个创意工厂,不如说是一个高压锅。空气中弥漫着咖啡因、能量饮料和焦虑。而我十分融入,因为我已经彻底懵了。我感觉自己像是在解一个被猫玩了一整天的毛线团。每一根线头都看似清晰,但你一拉,却发现它和另外几十根线死死地缠绕在一起。
案情的核心事实摆在那里,像一块啃不动的硬骨头:上周五晚上八点十五分,有人用项目总监陈默的电脑,登录了首席美术师苏晴的账号,把游戏的测试视频上传到了外网。而当时,他们所有人,都在楼下餐厅里,拥有铜墙铁壁般的不在场证明。
我最初的专业判断——某种新型的远程控制木马,很快就被IT主管老马那张刻板的脸和一堆我看不懂但结论清晰的日志给否决了。老马断言,除非有人发明了量子纠缠级别的黑客技术,否则绝无可能。
我的第一个猜测,栽得有点快。
线索自然而然地落到了苏晴身上。她是账号的主人。在她的电脑里,我们找到了一封写给CEO李泽的辞职信草稿,言辞激烈,痛斥公司“论功行赏不公,让创造价值的人心寒”,并指名道姓地抱怨技术总监陈默“只知催促进度,漠视艺术价值”。除此之外,还有她浏览竞争对手极乐鸟招聘页面的记录。
动机、物证……一切都显得那么齐全。
我单独和苏晴谈话,在一个小小的会议室里。她像一只被淋湿的猫,毛发紧贴着皮肤,眼神里满是戒备和委屈。“信是我写的,”她承认了,声音很低,“那是半个月前,我和陈默大吵一架后,一气之下写的。但我没想过真的要发出去。至于招聘网站,我只是……只是想看看外面的行情,给自己留条后路,这也有错吗?”
“那你的密码呢?”我问出了关键。
“我不知道!”她几乎要哭出来了,“我的密码很复杂,除了我没人知道!”
我找到陈默,在一个独立的吸烟室里。陈默显得疲惫而消沉。“你还相信苏晴是无辜的吗?”我递给他一支烟。
陈默沉默地接过,点燃,深吸了一口,任由烟雾模糊了他的表情。“我不知道……那封信,那些浏览记录……我把她当成自己的妹妹一样,但现在……”他没有说下去,但话语里的动摇显而易见。曾经的信任,已经在天平上,被名为证据的砝码压得彻底倾斜。
当我把苏晴那封信里抱怨他的内容告诉他时,我能清晰地看到他脸上的血色一点点褪去,取而代之的是一种被至亲之人背叛的震惊和冰冷。他那原本还想为苏晴辩护的立场,瞬间崩塌了。
“我没想到……她会这么看我。”他喃喃自语。
从那一刻起,陈默也成了我的怀疑对象。理由很简单:作案工具是他的电脑。有没有可能,他发现了苏晴的背叛,于是策划了这一切来陷害她?这个想法很疯狂,但并非全无可能。只是,他为什么要用这种方式?这对他自己有什么好处?
在任何一个稳定的系统里,要寻找异常的根源,首先要找到系统中的变量。常规的工作、通勤、会议,这些是常量。而一场生日派对,一个本不该在工作日晚上发生的集体事件,就是这个案件中最大的、也最可疑的变量。
一个平时低调的技术狂人,为什么会在项目即将上线的关键节点,同意举办这样一场派对?有没有可能,这场派对本身就是一场宏大的调虎离山?他,陈默,作为主角,将所有人的注意力吸引到自己身上,从而为某个他早已设定好的自动化脚本,创造出完美的作案时机和不在场证明。
这个想法在我脑中盘旋。我看着眼前的陈默,他因为被怀疑而脸色发白,极力辩解。但我当时看他的眼神,就像在审视一个顶级魔术师,想从他无懈可击的表演中,找出那个藏在袖子里的机关。
我的“陈默主谋论”,很快就又撞上了南墙。我旁敲侧击地问了许多关于派对的细节,发现这场派对是行政部门为了鼓舞士气主动提出,并由市场总监顾嘉明一手操办的。陈默从头到尾都只是一个被动的接受者,他脸上的快乐和惊喜,不像是装出来的。
我把自己关在监控室里,要来了那晚餐厅的所有高清录像。我不是想找谁中途离席,我知道没人离开。我只是想看看,在那片被所有人认定为是不在场证明的区域里,到底发生过什么。
画面很长,很无聊。敬酒、欢笑、切蛋糕……我甚至开始研究起他们餐厅的菜单。就在我快要睡着的时候,生日庆祝的高潮部分开始了。
我看到行政拿着一个包装精美的盒子,送到了陈默面前。陈默很高兴,像个得到了新玩具的孩子。我把画面放大,一帧一帧地播放。
我看到陈默在众人的起哄声中,一下就打开了包装,是一个新款的机械键盘。顾嘉明俯身过去跟陈默说了些什么,陈默从背包里掏出他的笔记本电脑,连上键盘。键盘的RGB亮了起来,他笑得更开心了。虽然他手里有电脑,但那个时候才七点多不到,还没有到泄露的时候。我反复观看这段监控,想从那片欢乐的海洋里,打捞出一点不和谐的泡沫。但我没有看到任何疑点。
变量理论,似乎走入了歧途。
我只好回归最传统的刑侦逻辑,从证据链最完整的人下手——首席美术师苏晴。
她的账号,她的电脑里那封充满怨气的辞职信,她浏览敌对公司极乐鸟招聘页面的记录。一切都那么完美,完美得让我生疑。
最大的疑点是密码。苏晴坚持自己从未泄露过密码,而她的密码组合——一个冷门乐队名、她宠物的生日、再加上几个特殊符号,几乎不可能被猜到。
我让IT主管老马把苏晴和陈默工位附近的监控调了出来,寻找任何蛛丝马迹。但整整一个月,都没有发现可疑人员接触过他们的电脑。这条路似乎也断了。
我没有放弃,转而调查人和人之间的关系。我花了半天时间,和开发组的几个年轻人喝咖啡、聊八卦。在一个程序员的口中,我听到了一个不起眼的细节。
“……要说谁最热心,那肯定是顾总监。我记得几周前,苏晴姐的电脑好像卡了,登不上一个内部素材库,急得不行。顾总监路过,特别耐心地帮她想办法,又是让她试试旧密码,又是让她检查大小写和数字键盘锁,忙活了好一阵子呢……”
我又想到了顾嘉明。那个永远挂着得体微笑的市场总监。在所有人都焦头烂额时,他冷静得像个局外人。商业竞争,他也可以是直接的受益或受害者。制造混乱,或许对他另有图谋。但我找不到任何他能介入这起技术犯罪的途径。他就像一个飘在天上的幽灵,你有理由怀疑他,却永远也抓不住他的实体。
他们三人,像三体问题一样,互相牵制,构成了一个无解的僵局。我感觉自己的大脑快要被这个该死的线团给勒死了。
两天过去了,毫无进展。当我感觉所有的路都被堵死时,我习惯回到起点。如果所有的人和物证都充满了矛盾,那么,唯一绝对客观的,或许只剩下那个不会撒谎的眼睛——监控录像。
我立刻把苏晴叫来,先让她回忆她和顾嘉明互动那天的具体情形。
“好像……是有这么回事,”她努力回想着,“我当时特别着急,屏幕上弹着密码错误的红框,顾总监就在旁边指导我。我试了好几个密码组合,手忙脚乱的,最后终于试出来了,他还要我千万别忘了……”
一个经典的场景重现了:一个焦头烂额的受害者,一个热心帮助的旁观者。在反复的尝试和干扰中,当她最终输入正确密码的那一刻,她所有的注意力都在屏幕上,而旁观者的余光,却足以瞥见那零点几秒的指法顺序。密码不是被黑客盗走的,它是在一次看似善意的帮助中,被悄无声息地偷窥走的。
深夜,我躺在酒店的床上,烦躁地刷着手机。我决定做一件看似无聊,却很直接的事——为了理解一件武器,你必须亲自握着它。我打开电商APP,下单了一个一模一样的“游侠X9”机械键盘,选择了最快的同城急送。这个键盘除了用的是自创的轴体之外,还有一个惊人的特性:这款键盘拥有独立的板载内存和强大的宏命令编程功能。用户可以录制一长串复杂的操作,储存在键盘里,然后通过一个按键,就能在任何电脑上瞬间复现。
一小时后,我拿到了那个崭新的盒子。我准备打开它,研究一下内部结构。但我的手指在盒子上摸索了半天,竟找不到一个像样的易撕口。整个盒子被一层紧致、光滑的塑料膜包裹着,像一件真空包装的食品。我有些恼火,从洗漱包里翻出一把修眉用的小刀,费力地划开那层膜,才终于打开了盒子。
就在划开塑料膜的那一刻,我的动作停住了。
一个被我忽略的画面,像闪电一样击中了我的记忆。
监控录像里,陈默拆开礼物时,动作是那么的流畅、简单,他几乎是直接掏出了键盘,而没有划开或撕开的动作。他根本没有遇到我刚才的窘境。
我立刻重新打开笔记本电脑,调出那段监控录像,将画面放大。
在餐厅的灯光下,陈默手中的那个盒子,看得出来根本没有那层该死的、会反光的塑料膜。
这个键盘,在送出之前,就被人打开过。
第二天,我用一个借口,从陈默那里借来了他的那个键盘,和我的新键盘放在一起。我拆开、对比,从重量到每一个焊点,都看不出任何物理上的区别。这让我一度十分沮丧。
但一个电视剧中的桥段,浮现在我心中。我决定赌一次。
最后的摊牌,我把这三个人和 CEO 约在了同一间会议室。我喜欢这种仪式感,以及隐含着的压迫力。
我花了很长时间,先用无可辩驳的逻辑,彻底洗清了苏晴和陈默的嫌疑。我把他们从这滩泥沼中一个个地摘了出来,让他们作为清白的旁观者,来看这最后一幕。
然后,我转向顾嘉明。
他依然保持着那种商业精英式的从容,仿佛我刚刚说的那些都与他无关。他甚至还对我笑了笑,那笑容像是在说:“汪先生,辛苦了,但你找错了人。”
我回了他一个更灿烂的笑容。“顾总监,别急着鼓掌。我得承认,你这个计划,构思上还算……有点意思。”
我将那两台一模一样的键盘并排放在桌上。
“我一度很佩服你,真的。”我开始踱步,语气变得轻佻,“能想到用生日礼物做文章,胆子很大。只是,你的手法,说实话,有点拙劣。”
顾嘉明的笑容淡了下去。
“就说苏晴的密码吧,”我像个戏剧评论家一样,摇头晃脑,“你为了拿到它,居然用的是那种最老土的方式——假装好心,凑到别人身边,趁人家心烦意乱的时候去偷看。这就像小偷在拥挤的公交车上作案,全靠运气和别人的疏忽。你就不怕苏晴一回头,正好看到你那双贼溜溜的眼睛吗?我猜你当时心跳也很快吧?万一失手,你这个市场总监的脸往哪儿搁?能成功,只能说你运气不错。”
“汪先生,请注意你的用词。”他的声音冷了下来。
“用词?”我像是听到了什么笑话,“我觉得很贴切啊。你的整个计划,就像是在走钢丝,底下没有任何安全网。你把所有的宝都押在了运气。你赌陈默会当场拆礼物,赌他会在你怂恿下立刻接上电脑,赌他不会发现包装的异样,赌苏晴不会在那之后立刻改掉密码……你不是什么运筹帷幄的战略家,你只是一个把自己全部身家都推上赌桌的赌徒。而那晚,恰好,让你赌赢了而已。”
我停在他面前,俯下身,直视着他的眼睛。
“你那点心思,就像写在脸上的说明书,一点也不难懂。你想当个幕后黑手,想当个提线木偶的大师。但实际上,你连自己的那点虚荣心都控制不住。”
他控制着表情,但我看到他太阳穴略微鼓起的青筋。我知道,我的话刺中了他最痛的地方。但这还不够,我需要他彻底失控。
“不过,最可笑的,还是你的作品本身。”我回到桌边,拿起陈默的那个键盘,像是在端详一件有瑕疵的艺术品,“你的那个宏,那个你引以为傲的诡计核心,写得……唉,真是一言难尽。”
我用一种夸张的、难以置信的语气撒谎,每一个字都充满了鄙夷:
“你知道吗,顾总监,你的运气真的差到了极点。我把这个键盘,插在了我自己的笔记本上做测试。你猜怎么着?你那个宏程序,居然又傻乎乎地自动运行了,然后开始在我电脑里疯狂搜索文件。无语了。一个写得这么烂的程序,居然还想当成完美犯罪的工具?它能在我电脑上运行,就能在任何人的电脑上运行,留下无穷无尽的痕迹!我说,小顾,你果然不是正经程序员。你这次能成功,纯粹是因为老天爷都懒得睁眼看你罢了!”
这一连串对他人格和作品的双重侮辱,终于成了压垮骆驼的最后一根稻草。
顾嘉明猛地站了起来,他的脸因为愤怒和屈辱而涨得通红,那种精心维持的从容彻底破碎,变成了一头被激怒的野兽。
他几乎是咆哮着喊了出来:“不可能!这绝对不可能!你说谁业余?!”
他指着我,手指因为用力而微微颤抖:“我写的宏,设定了严格的单次硬件环境触发机制,并且在任务执行完毕后的五分钟内,就会进行不可逆的自我删除!它绝不可能在第二台电脑上运行!它是完美的!!”
话音落下,整个会议室陷入了一片死寂。
苏晴和陈默震惊地看着他,而顾嘉明自己,也张着嘴,脸上的愤怒瞬间凝固,随即化为一片惨白的绝望。他意识到了,他刚刚亲口承认了——那个宏,是他写的。
我身体后仰,靠在椅背上,长长地舒了一口气,然后对他露出了一个灿烂的,甚至可以说是残忍的微笑。
“Brooklyn 99 motherfucker.”
我看着顾嘉明,他的眼神从震惊,到不甘,最后化为一片死寂。他知道,他输了。他输给了那层该死的、被他亲手撕掉的塑料薄膜。
“为什么?”李泽问出了那个所有人心中都有的疑问。
顾嘉明沉默了很久,最终冷笑了一声:“为什么?在这个公司,无论我为市场拿下多少占有率,你们谈论的永远是陈默的代码、苏晴的美术。你们这些创造者,永远瞧不起我们这些卖东西的。我只是想证明,谁才是那个能真正掌控全局的人。我才是那个能决定《飞升之后》,究竟是飞升,还是坠落的人。”
我沉默了。庸俗。真庸俗的理由。还不如像我一样,高尚地单纯是为了钱。