补给点是一座漂浮在湄公河口的铁皮平台,柴油味和鱼腥味混在一起,呛得人睁不开眼。南尼在这里换了一艘双引擎快艇,船长是个独眼的柬埔寨人,全程没说一个字,只收钱。
快艇在浪里颠簸了将近两个小时。天色从漆黑转成铅灰,海平线上慢慢浮出一团轮廓——那不是岛,更像一座被钢筋和混凝土硬生生堆出来的海上堡垒。防波堤上停着几艘挂着巴拿马旗的货轮,塔吊的影子斜斜地插进海里,像一排排插进尸体的针。
南尼攥着背包带,指节发白。他数了一遍,防波堤的岗哨每隔四十米一个,持枪,但站姿松散,是雇佣兵,不是正规军。货轮吃水很深,甲板上没有集装箱,只有几个被防水布盖住的、形状规整的方体。他不想去猜那些方体里装的是什么。
快艇在侧门靠上。一个穿白衬衫的年轻人已经在等,胸牌上印着一串编号,没有名字。
"陈默先生?"年轻人用流利的普通话问,"沈先生请您过去。请配合搜身。"
南尼没有反抗,任人把背包里的东西一件件摊开:现金、护照、那部诺基亚、一把折叠刀。搜身的人摸到他鞋底时停了一下,南尼的心提到了嗓子眼——U盘还在夹层里。但那人只是用指甲刮了刮鞋底,没掀开,把鞋扔回给他。
是运气,还是有人替他挡了?他不敢想。
电梯向下。不是向上,是向下。南尼看着楼层数字从1跳到负1、负2、负3,耳膜被气压顶得生疼。这座岛的真正核心,在海平面以下。
负4层,门开了。
南尼以为自己会看到一间审讯室,或者一间刑房。但他看到的是一间会议室,长条胡桃木桌,桌上摆着三杯还没动过的咖啡,和一台投影仪。落地窗外是幽蓝的海水,偶尔有鱼群游过,把灯光搅成碎银。
桌边坐着三个人。
中间那个穿亚麻西装,五十岁上下,头发梳得一丝不苟,正在用一把小银勺搅咖啡,搅得很慢,像在搅拌一杯化学试剂。他抬头看南尼,眼神温和,像大学里那种最受欢迎的经济学教授。
"坐。"他指了指对面的椅子,"我是沈伯庸。你可以叫我沈先生。坤哥倒了,九叔倒了,你手里那份东西,现在值多少,得由我们来算。"
南尼坐下,没碰咖啡。他学着"陈默"该有的样子,把肩膀垮下来,脸上堆起一点市侩的笑:"沈先生,东西我带来了。但我丑话说前头,我要的是钱,干净的、能花出去的钱。我不掺和别的。"
"聪明。"沈伯庸笑,"我们最喜欢你这种聪明人。"
他左边是个女人,白大褂,金丝眼镜,三十多岁,正低头翻一份文件,从头到尾没看南尼一眼。沈伯庸介绍:"叶医生。她管……产品。"
"产品"两个字让南尼胃里一紧,但他脸上不动声色。
右边是个壮汉,皮肤黝黑,脖子上有一道旧疤,军装外套敞着,里面是防弹背心。他没说话,只是用一双浑浊的眼睛盯着南尼的手,像在估量这双手能不能拧开一颗头盖骨。沈伯庸介绍:"颂猜上校。我们的……朋友。"
颂猜。南尼在心里默念了一遍这个名字。上校,边防,或者别的什么军衔——这是这座岛能在公海盲区存在的原因,是写在所有合同背面、不会印出来的那一行字。
"打开吧。"沈伯庸说。
南尼把U盘插进投影仪旁的接口。屏幕亮起,数据流滚动:林晓的五百万链路、坤哥的黑账、洗钱路径、几个被红笔圈出的真实姓名和对应账户。
会议室安静了几秒。
叶医生终于抬起头,镜片后的眼睛第一次落在南尼身上。她没看屏幕,看的是南尼。
"这个混币器的跳转逻辑,"她指着屏幕上一段代码,声音很平,"是你写的?"
"是。"南尼说。
"第三层跳转,你用了非对称加密的变体,密钥长度256,但填充方式错了。"叶医生语速不快,每个字都像在称量,"如果是坤哥那种土办法,不会这么填。这么填的人,要么学过密码学,要么……抄过行动组的内部文档。"
南尼后背瞬间沁出一层冷汗。
这是陷阱。真正的"陈默"是个程序员,会写代码,但不会犯这种"太专业反而露馅"的错——除非这个错,是叶医生故意设的饵,赌的就是一个不懂行的人去接,或者一个懂行的人去辩解。
辩解,就坐实了"懂行";不懂,就坐实了"抄的"。
两头堵。
南尼端起那杯咖啡,喝了一口,烫得舌头发麻,反而让他稳住了。他放下杯子,用一种混不吝的语气笑:"叶医生,我抄不抄的,您说了不算。我就知道这玩意儿能跑,能洗白,能进你们的账。我管它填充不填充,我管它密钥多少位。我是写代码的,不是写论文的。"
他把球踢回给"贪财程序员"的人设——我不懂原理,我只知道它好用,你跟我扯学术,我跟你扯钱。
叶医生看了他两秒,没说话,重新低下头翻文件。
沈伯庸笑了,那笑容里有一丝赞赏,也有一丝更深的东西:"颂猜,你怎么看?"
一直没出声的颂猜上校,忽然开口,中文带着浓重的口音:"手。"
南尼一愣。
"把手伸出来。"颂猜说。
南尼把双手平放在桌上。颂猜盯着他的指节、虎口、指甲缝,看了很久。
"写字的手。"颂猜说,"不是拿刀的手,不是拿枪的手。但是,"他抬起眼,"虎口有茧,是长期握方向盘或者握……别的什么,反复摩擦磨出来的。程序员不磨这个。"
南尼的指尖微微一颤。那是他过去在边境线上,无数次握枪、握刀、握方向盘留下的痕迹。九叔没看出来,坤哥没看出来,但颂猜这种在战场上活下来的人,一眼就看穿了。
他必须解释,而且必须解释得让"陈默"这个身份成立。
"上校,"南尼苦笑,把右手翻过来,"我坐过牢。不是现在,是以前。在山西,我蹲过两年。开车,是后来给人当司机挣的。我这种人,能写代码,也能握方向盘,也能……握别的。我什么脏活都干过,才活到今天。您要是嫌我手不干净,这单子,我不接也行。"
他把"坐过牢""什么脏活都干过"当成盾牌,主动往自己身上泼脏水——一个有前科、能屈能伸、毫无底线的灰产程序员,反而比一个清白的人更可信。
颂猜没说话,但收回了目光。
沈伯庸轻轻敲了敲桌子:"够了。数据是真的,人是……可用的。"他转向南尼,"陈默,从现在起,你归我管。叶医生会给你安排住处。你的那份钱,到账之后,先付三成,剩下七成,等你帮我们把这条链,彻底洗成白的,再付。"
南尼点头,脸上是恰到好处的贪婪和感激。
就在这时,会议室的门,无声地开了。
所有人——包括颂猜——都站了起来。
南尼没有立刻起身,他先看了一眼沈伯庸的表情。这个一直云淡风轻的"教授",此刻脊背绷得笔直,眼神里第一次出现了近乎敬畏的东西。
走进来的人,南尼只看到一个背影。灰布中山装,走路很慢,很轻,像怕踩疼了地板。他在主位坐下,没看任何人,先端起沈伯庸那杯没动过的咖啡,喝了一口。
"坤哥临死前,"那人开口,声音不高,却像一根针,轻轻扎进每个人的耳膜,"给我留了一句话。他说,他园区里那个叫阿杰的,不是阿杰。他说,那个人眼睛里,有东西,是他坤哥这辈子没见过的东西。"
南尼的呼吸停了半拍。
那人放下杯子,终于抬起头,看向南尼。
那是一张看不出年龄的脸,没有凶相,没有怒色,甚至带着一点慈祥,像庙里供着的一尊泥像。
"我信坤哥。"那人说,"所以,我查了一下你给我的名字。"
他顿了顿。
"陈默。"那人念了一遍,像在念一道菜名,"是个程序员。三十二岁,山西人,欠了赌债,半年前被卖到坤哥园区。但是,"
南尼感觉整个会议室的空气,在这一瞬间被抽干了。
"但是,"那人重复了一遍,语气依旧温和,"真正的陈默,三个月前,就在我的手术台上,死了。他的器官,现在在我那几艘货轮的甲板上,盖着防水布。"
他看着南尼,那双慈祥的眼睛里,没有一丝温度。
"所以,孩子,"那人轻声说,"阮文龙给你的这个名字,你最好给我一个解释。"
南尼僵在椅子上。
他猛地转头,看向会议室角落——那里不知何时多了一个人,深蓝色西装,一尘不染,正靠在墙边,手里翻着那枚硬币,对这一切,面无表情。
阮文龙抬起眼,隔着整张长桌,与南尼对视。
他笑了一下,把硬币收进口袋,用口型,无声地说了两个字。
南尼读懂了。
"抱歉。"