集裝箱內的空氣,因“老貓”指尖在油膩鍵盤上敲擊的噼啪聲,而顯得更加凝滯、悶熱。顯示器幽幽的綠光,映著他蒼白瘦削、時而因回憶或恐懼而微微抽搐的側臉,也映著沈冰那雙如同冰封湖面、表面平靜下暗流涌動的眼睛。打印機(一臺老舊的針式打印機)發出嘎吱嘎吱的**,吐出一張張布滿密密麻麻技術術語、ip地址、域名、算法特征、版本號和時間節點的熱敏紙。油墨的氣味混合著灰塵和金屬的焦糊味,在逼仄的空間里彌漫。
每一行文字,每一個地址,都可能是指向“鏡像沙盒”偽造工具、揭露“幽靈”團隊、進而撕開整個構陷偽證鐵幕的關鍵碎片。沈冰的心跳,隨著紙張的累積而逐漸加快,那是一種混合了希望、興奮、以及更深層不安的悸動。希望在于,她終于抓住了敵人技術盔甲上最細微的那道裂痕;不安則源于,獲取這些信息的代價,以及“老貓”那無法掩飾的、深入骨髓的恐懼。
“就……就這些了。”“老貓”敲下最后一個字符,打印機吐出最后一張紙,他像是耗盡了所有力氣,癱靠在吱呀作響的破舊轉椅里,額頭滲出細密的冷汗,手指仍在微微顫抖。他抓起工作臺上那半瓶渾濁的液體(不知是水還是別的什么),仰頭灌了一大口,喉結劇烈滾動。“我知道的,能寫的,都寫了。有些是聽‘幽靈’的人吹牛時零碎提到的,有些是我自己測試環境時發現的……但我不保證百分百準確,也不保證現在還有用。他們……他們很謹慎,可能會升級工具,掩蓋痕跡。”
沈冰拿起那摞還帶著打印機余溫的紙張,快速瀏覽。內容比她預期的更詳細,甚至包括了幾段疑似“鏡像沙盒”早期版本的配置文件片段,以及“老貓”對那個有瑕疵的隨機數生成器進行簡單測試后記錄下的異常數據模式。最重要的是,他清晰地標注了那72小時“時間源異常期”的具體起止時間(精確到秒),以及受影響的ntp服務器池的主要ip段和域名――這正是沈冰最需要的、能夠對偽造文件進行高精度時間戳分析的“錨點”!
“這些,足夠證明那些文件是偽造的?”沈冰抬頭,目光如炬,盯著“老貓”。
“老貓”避開她的目光,低下頭,用袖子擦了擦額頭的汗。“理論上……如果能有原始偽造文件的副本,進行深度的、針對性的二進制分析和元數據挖掘,結合這個時間源異常的特征,以及文件頭隨機數的模式分析……有很大概率,能找到不符合正常生成規律的‘人工痕跡’。但……”他艱難地吞咽了一下,“這只是技術上的可能性。法律上……需要權威鑒定機構出具報告,需要排除其他所有合理懷疑……而且,對方如果咬定是你們自己后期篡改誣陷,或者提出其他技術解釋……”
“有可能性就行。”沈冰打斷他,將那些紙張小心地折疊好,和之前的線索記錄放在一起,貼身收藏。“剩下的,是我的事。”她將桌上那卷錢全部推到“老貓”面前,“這是你的。記住,今天你沒見過我,我也沒來過這里。這些信息,爛在你肚子里。如果你還想活著離開勐拉,甚至離開這片地界,最好忘掉‘鏡像沙盒’、‘幽靈’,還有‘灰隼’。”
“老貓”看著那卷錢,眼神復雜,有貪婪,但更多的是恐懼。他猛地點頭,聲音干澀:“我懂,我懂!我今天什么都沒做,就是修了臺破電腦!你……你快走吧!最近鎮上不太平,你也小心點!”
沈冰不再廢話,最后深深看了一眼這個蜷縮在電子垃圾和恐懼中的技術亡命徒,轉身,拉開了集裝箱沉重的鐵門。
午后的陽光有些刺眼,雨后潮濕的空氣撲面而來,帶著泥土和植被的氣息,沖淡了集裝箱內令人窒息的污濁。沈冰瞇了瞇眼,迅速觀察了一下周圍。廢棄屠宰場依舊空曠死寂,只有遠處垃圾堆旁幾只野狗在爭奪著什么。阿昌應該在拐角的茶水攤等她。
她沒有立刻去找阿昌,而是先繞著集裝箱附近快速走了一圈,確認沒有可疑的人或車輛潛伏。然后,她才低著頭,快步朝著與阿昌約定的茶水攤方向走去。腳步比來時輕快了一些,但心中的警惕絲毫未減。懷里的紙張仿佛帶著灼人的溫度,也帶著致命的吸引力。
走到拐角,那家簡陋的、只在路邊支了個棚子的茶水攤映入眼簾。阿昌果然坐在一張矮桌旁,面前擺著一杯早已涼透的、顏色渾濁的茶水,目光有些游離地望著街面。看到沈冰出現,他幾不可察地松了口氣,但臉上沒什么表情,只是微微點了點頭。
沈冰走過去,在他對面坐下,低聲說了句:“好了。”
阿昌沒問結果,只是端起杯子,象征性地喝了一口,然后站起身:“走吧,回去。”
兩人一前一后,保持著不遠不近的距離,再次穿行在勐拉鎮迷宮般的小巷中。沈冰注意到,阿昌的腳步比來時似乎快了一些,而且選擇的路線也更加曲折,有時甚至會突然拐進一條死胡同,然后從另一頭繞出來。他在反跟蹤。是察覺到了什么,還是僅僅出于一貫的謹慎?
回到阿昌的雜貨鋪,關上后門,回到那個昏暗的隔間,沈冰才感覺稍微松了口氣。但阿昌的臉色卻比離開時更加凝重。他沒有像往常一樣去拿水煙筒,而是走到窗邊,掀開窗簾一角,警惕地向外張望了片刻,然后放下,轉身看著沈冰。
“你從‘老貓’那兒,拿到想要的東西了?”阿昌的聲音很低,帶著一種不同尋常的嚴肅。
沈冰點點頭,沒有細說:“拿到了一些可能有用的線索。”
阿昌沉默了一下,似乎在斟酌詞句。“你離開后不久,”他緩緩說道,“我看到有兩個生面孔,在屠宰場附近轉悠,像是在找什么,又不像。穿著打扮不像本地人,也不像一般的混混。其中一個,脖子后面,有個不太顯眼的紋身,我離得遠,看不太清,但感覺……有點像‘大灰狗’手下那些人身上的標記。”
沈冰的心猛地一沉!“灰隼”的人?已經找到這里了?是跟蹤她來的,還是早就盯上了“老貓”?她下意識地摸了摸懷里那摞紙。難道剛才在集裝箱附近的感覺不是錯覺?還是說,“老貓”這里本來就在“灰隼”的監控之下?
“你被他們看見了嗎?”沈冰立刻問。
“應該沒有。我坐的位置背光,他們注意力也不在茶水攤這邊。”阿昌搖搖頭,但眉頭緊鎖,“不過,這地方不大,生面孔很顯眼。你去找‘老貓’,難保沒有別的眼睛看到。‘老貓’那種人,本身就是個麻煩源。我擔心……”
他的話沒說完,但意思很清楚。沈冰剛拿到關鍵線索,“灰隼”的人就出現在附近,這絕不是巧合。她的行蹤可能已經暴露,或者“老貓”這條線本身就極其危險,現在已經被驚動。
“我們必須馬上離開這里。”沈冰當機立斷。她不能連累阿昌,也必須盡快帶著這些線索,去找那個能將其轉化為證據的“方特派員”,或者,至少離開勐拉這個是非之地。
阿昌沒有反對,只是說:“現在大白天的,太顯眼。等天黑。我安排船,送你過河,去對岸那個小鎮。到了那邊,是‘方特派員’的地盤,‘大灰狗’的人應該會收斂些。但你得想好,怎么接觸她。直接找上門,太冒險。”
沈冰點點頭。她需要時間消化“老貓”給的信息,也需要想出一個既能將線索遞出去,又能最大限度保護自己安全的方案。阿昌說得對,直接接觸是下下策。
整個下午,沈冰都待在雜貨鋪的隔間里,沒有出去。她反復研讀“老貓”提供的技術細節,結合自己之前對那幾封“加密郵件”和“內部文件”模糊的記憶(她看過那些作為“證據”提交的材料),嘗試在腦海中勾勒出一個完整的技術分析框架。她需要將這些高度專業、零散的信息,轉化為一個能讓專業人士(比如“方特派員”團隊里的技術專家)立刻意識到其重要性、并愿意深入調查的、簡明扼要的“線索包”。
同時,她也在反復權衡接觸“方特派員”的風險與收益。對方是國際反洗錢特派員,理論上應該追求真相,打擊犯罪。但她的身份是逃犯,對方會相信她嗎?會把她當作舉報人保護,還是當作嫌疑人扣押?她手中的線索,是否足以讓對方愿意冒險介入一樁發生在鄰國的、已經“塵埃落定”的商業構陷和疑似謀殺案?
時間在焦灼的思考中緩慢流逝。天色漸漸暗了下來,勐拉鎮再次被夜色和朦朧的燈火籠罩。阿昌出去了一趟,回來時帶著一些簡單的食物,還有一個小布包。
“船安排好了,子夜時分,在東邊老碼頭上船,船夫是我一個遠房侄子,可靠。”阿昌將布包遞給沈冰,“里面是些干糧和水,還有一點應急的錢。過了河,一切小心。到了對岸小鎮,沿著主街往南走,看到一棟三層白樓,掛著‘涉外招待所’牌子的就是。周圍有軍警,不要貿然靠近,先觀察。”
沈冰接過布包,心里涌起一絲復雜的情緒。這個只有一面之緣、看似冷漠的邊境老人,卻在關鍵時刻給了她至關重要的幫助。“謝謝,阿昌叔。連累你了。”
阿昌擺擺手,渾濁的眼睛里沒什么波瀾:“談不上連累,各取所需罷了。‘信鴿’的人情,我還了。你自己……好自為之吧。這世道,想活著,想討個公道,都不容易。”
晚上十一點左右,沈冰已經做好了離開的準備。她換上了一套阿昌找來的、更便于行動的深色衣褲,將頭發緊緊盤起,用頭巾包好。最重要的線索紙張和u盤,被她用油布和防水袋反復包裹,縫在了貼身內衣一個隱秘的夾層里。匕首插在靴筒。她最后檢查了一遍,確認沒有遺漏。
就在這時,外面街道上,突然傳來一陣不同尋常的騷動!隱約有急促的腳步聲、壓低的人聲、還有……警笛聲?雖然聲音不大,但在這相對寂靜的夜晚,格外刺耳。
沈冰和阿昌同時臉色一變。阿昌迅速走到窗邊,再次掀起窗簾一角,向外窺視。沈冰也湊了過去。
只見街道上,幾輛破舊的、但車頂閃著紅藍警示燈的當地警用摩托車和一輛皮卡,正快速駛過,方向……似乎是鎮子東頭!緊接著,遠處隱約傳來了更多的喧嘩聲,還有手電筒的光柱在夜空中亂晃。