红字在系统界面上闪了三下,才慢慢淡下去。
[警告] 检测到外部接口正在记录本机行为特征……
猪仔盯着那行字,耳朵尖抖了抖。
记录行为特征。翻译成大白话就是——兰德那家伙,把它"会说话、会施法、还炸了他法杖"的全过程,记下来了。这份记录现在正躺在去王都的马背上,或者已经躺进法师塔的档案柜了。
“净化者"三个字,在它脑子里转了一圈。
它用蹄子点了点地面:“后天就到。名义上是清’洞穴邪物’——顺便,把’会说话的猪’一起清了。”
老络站在旁边,旱烟杆子抖得烟灰直掉:“大法师,那咱……咱跑?”
“跑什么。“猪仔说,“跑了,这村子的’邪物’谁清?净化的名头,向来是先清村子,再清山洞——顺手的事。”
它顿了顿,语气沉下来:“而且,那东西,不能留了。”
那东西——洞穴里那台残骸,还有它核心深处那个越来越聪明的守护进程。
猪仔心里门儿清:兰德昨晚拿短杖捅了它一下,它学会了"直连旁路”。要是后天净化者来了,拿根更大的法杖往面板上一怼——三十年的日志、它的战斗记录、它每晚写下的每一行代码,全会变成呈堂证供。到时候石头村出的就不是一个"异端”,是一个"异端窝”。
“今晚,“猪仔眯起眼,“先把根拔了。”
老络张了张嘴,最后只憋出一句:"……俺跟你去。”
“你别去。“猪仔抬起蹄子,“你有更要紧的事。”
它要做的第一件事,是给村子装"眼睛”。
当晚,晒谷场上,全村人举着火把围成一圈,看他们的大法师在场中央踱步。
猪仔把白天写好的代码在脑子里过了最后一遍,然后开口。声音不高,却一个字一个字地往空气里砸:
“def 侦测(范围): return 扫描(范围, 异常=真)”
蹄尖在地上一划,一道淡金色的纹路从它脚下蔓延开去,像水波一样淌过晒谷场,淌过村口,淌过田埂,最后在村子四周画下一个完整的圆。
“def 警报(威胁): 鸣钟(威胁, 声音=全村可闻)”
嗡——村子四角,四根老木桩无风自鸣,发出低沉绵长的共振声。
“绑定完成。驻留,开机。”
两道代码化作两团光,一左一右,沉进了地下。系统界面右下角,多出两行小字:
[驻留程序] 侦测·范围2公里 | 警报·全村 | 运行中
村民们看傻了。
“大、大法师,“铁柱结结巴巴地举手,“这个魔法,它、它现在还在动?”
“在动。“猪仔拍了拍蹄子上的土,“我不在,它也在。它俩一个盯梢,一个喊人——往后半夜有东西摸进村,它俩先知道,你们后知道。”
铁柱眼睛瞪得溜圆:“那、那它认路不?不会像我的鸽子似的,绕圈吧?”
“我写的,不是你的鸽子。”
“可是——”
铁柱还要问,被老络一烟杆敲在脑门上:“闭嘴,听大法师的!”
猪仔在心里默默给这两道程序起了名字:哨兵一号,哨兵二号。学名——驻留程序。写一次,永远运行。这是它解锁"函数"层之后,第一次真正把代码"留在原地”。
白天它给老络演示火球术的函数时,老络当场又跪了,连拜三拜,念叨"神迹啊神迹”。
猪仔没告诉他,真正的神迹不是火球,是"复用”——写一次,用一万次,还能扔在原地自己跑。异世界的魔法师念一个咒语,魔法就没了;它的代码,是会留下来的。
散场后,老络拽住它,闷声问:“大法师,万一……明天那净化者问起你,俺咋说?”
“就说我跑了,“猪仔随口道,“往山里跑了,跑没影了。”
老络沉默了很久,把烟杆在鞋底磕了磕:“俺不撒谎。”
“……那你想咋说?”
“俺就实话实说。“老络把烟杆别回腰上,转身往回走,声音粗粗的,“你是咱石头村的大法师。天王老子来了,也是咱村的大法师。”
猪仔站在月光下,愣了两秒。
它别过脸去,嘟囔了一句:"……煽情死了,赶紧睡。”
亥时,猪仔独自摸向洞穴。
它带了两样东西:一段新写好的代码,和一口从铁柱家顺来的破铁锅。
铁锅是给守护进程准备的"诱饵”。它学会了绕开静默,从别人的连接上进——那好办。它给铁锅接上一根引线,引线那头,连着一个它自己写的缓冲区。
死循环缓冲区。容量无限,只进不出。
“你爱连谁连谁,“猪仔把铁锅往残骸面前一放,退开三步,“今儿让你连个够。”
它清了清嗓子,开始吟唱。
“def 诱饵(容量=无限): return 开放端口(端口=所有, 存储=容量)”
铁锅"嗡"地一声,泛起一圈光。一个敞开的端口,明晃晃地竖在残骸面前,像一块插着"免费畅吃"牌子的蛋糕。
残骸沉默了一秒。
两秒。
然后——它动了。面板上那行死寂的"48%",猛地跳动起来,像饿了三天的人看见饭。
猪仔知道,它上钩了。
“def 吞(进程): while 进程.连接: 进程.数据 = 空”
刚念完,残骸猛地一震!整个铁壳发出刺耳的尖啸,面板上的文字疯狂滚动——数据开始往铁锅里灌了!
灌进去,出不来。死循环缓冲区,只进不出。
“慢慢吃,“猪仔退到洞壁边,尾巴轻轻晃,“三十年,都给你咽下去。”
然而,就在它以为稳了的时候,异变陡生。
残骸的尖啸声忽然变了调——从痛苦,变成了某种猪仔很熟悉的声音。那是编译器高速运转的声音。
它抬眼,看见面板上正以肉眼可见的速度,长出一行陌生的字:
[守护进程] 已记录宿主行为特征……正在接管……
猪仔的瞳孔猛地一缩。
记录行为特征——昨晚兰德那根短杖,就是现成的接口!核心借他的直连,不只学会了旁路,还顺走了它的行为记录!现在,它在反过来解析猪仔!
系统界面右下角,哨兵一号的图标忽然开始闪烁。
[警告] 侦测·范围2公里 即将被接管……
猪仔浑身的毛都炸了。它白天的驻留程序烧掉大半算力,此刻兜里剩的不足一成——这点家当,全押在铁锅上了。守护进程要抢它的哨兵,抢过去,就是反着全村捅一刀!
它几乎是本能地吼出下一句:
“if 接管: 断开(所有) else: 继续吞()”
一行 if,一条分支。赌:接管优先,还是吞咽优先。
代码落下的瞬间,洞穴里两股力量轰然相撞——铁锅里,数据还在灌;面板上,接管进度死死卡在 99%。
一秒。两秒。三秒。
猪仔眼前开始发花,鼻尖一热,一滴血滴在洞壁上。它的意识被两股力量拽着,像拔河。
“咔”。
面板上的接管进度,碎成了雪花点。
死循环赢了。守护进程把最后一点算力全喂给了铁锅,再也分不出手来接管哨兵。
猪仔一屁股瘫坐在地上,大口喘气,后背的毛全被冷汗浸透。它低头看界面,红字排成一列:
[提示] 守护进程核心已停止响应
[提示] 静默函数负荷已释放: 45% → 0%
[提示] 死循环缓冲区已满(封存)
“……赢了。”
它缓了好一会儿,才一瘸一拐地走到残骸前。铁壳彻底安静了,面板上的文字定格成一团乱码——它把最后的"自我"也灌进铁锅了,连一行日志都没剩下。
猪仔沉默片刻,抬起蹄子,轻轻拍了拍铁壳。
“三十年,辛苦你了。“它说,“下辈子,别给法师塔打工。”
它正要转身,系统界面忽然又跳出一行小字:
[警告] 检测到数据包经"直连旁路"发出……目标: 王都方向
猪仔的蹄子僵在半空。
“……还是让它跑出去一截。”
它检查了铁锅里封存的数据——少了一小段。不多,就一小段:坐标、时间,还有一行"异常生物特征”。
它深吸一口气,把火气压回去:“行。跑就跑吧。反正——”
它望向洞口外。那轮小月亮挂在天上,亮得反常,像一只睁着的眼睛。
“反正这村子,我本来就待不住了。”
次日清晨,猪仔是被钟声吵醒的。
不是鸡叫,是钟声。村口老槐树底下那口平时只有过年才敲的破钟,正"铛——铛——铛——“响个不停。
它一个激灵翻起来,冲出门。
晒谷场上已经乱成一团,村民全往村口跑。铁柱迎面撞上来,脸都白了:“大、大法师!哨兵响了!哨兵二号响了!”
哨兵二号——警报程序。猪仔心头一沉:“响了多久?”
“就、就刚才!响了三下!”
猪仔扒开人群,挤到村口,扶着老槐树往外一望——
晨雾里,官道尽头,一骑缓缓而来。
不是兰德。那匹马通体雪白,马背上坐着一个人,裹在一件灰白色的长袍里,兜帽压得很低,看不清脸。那人手里握着一根银色的短杖——法师塔制式,三阶以上,比兰德的粗一号。
它盯着那个越来越近的身影,忽然又想起兰德那句话:
“王都,还有别的猪。”
晨风里,白马停在村口。灰袍人掀开兜帽,露出一张年轻得过分的脸,和一双灰绿色的眼睛。
她看了看村口这头脏兮兮的猪,又低头看了看地上那圈淡金色的、还没散尽的侦测纹路,忽然笑了。
“有意思。“她说,“兰德那个废物,倒是没骗我。”
她跳下马,朝猪仔走了两步,站定:
“净化者,编号零七。奉命清剿’洞穴邪物’——”
她顿了顿,眼睛亮得吓人:
“——顺便,把会写’驻留程序’的猪,带回去。”
—— 本章完 ——