第2章 代碼孤兒
黑客那年
季晨的指尖在鍵盤上飛舞,屏幕上的代碼像流水般傾瀉而出。
窗外的梧桐樹影投在老舊的顯示器上,將那些綠色的字符切割成碎片。
"又熬夜了?
"老陳的聲音從門口傳來,季晨猛地坐首身體,手肘不小心碰倒了旁邊的可樂罐。
棕色的液體在滿是電路板的工作臺上蔓延,他慌忙用袖子去擦。
"別用衣服!
"老陳快步走過來,扯過一疊廢打印紙按在液體上,"這己經是本周第三次了。
李院長要是發(fā)現你半夜溜出來,非得把我的電腦室給封了不可。
"季晨低下頭,黑發(fā)垂下來遮住了眼睛。
三年過去,當初那個雨中發(fā)抖的小男孩己經長高了不少,但依然瘦得像根竹竿。
福利院統(tǒng)一發(fā)放的藍色運動服松松垮垮地掛在他身上,袖口己經磨出了毛邊。
老陳嘆了口氣,目光落在屏幕上。
他的眉毛漸漸揚了起來:"這是...你寫的?
"季晨輕輕點頭。
"完整的爬蟲程序?
"老陳推了推眼鏡,湊近屏幕,"還加了多線程處理?
老天,我才教你這個概念兩周。
"季晨的嘴角微微上揚。
這是他在福利院學會的第三種表情——第一種是面對李院長時的乖巧順從,第二種是應付其他孩子時的冷漠疏離,只有在這個堆滿電子廢品的房間里,他才會露出這樣的微笑。
"我看了你書架上的那本《Python高級編程》,"季晨的聲音很輕,"第217頁講多線程的那部分有點問題,我按照GitHu*上的勘誤表改了改。
"老陳的嘴巴張了張,又合上。
他拉過椅子坐在季晨旁邊,身上帶著淡淡的**和松香焊錫的味道。
"你知道你才十歲吧?
大多數孩子這個年紀還在為兩位數加減法發(fā)愁。
"季晨聳聳肩,目光回到屏幕上。
對他來說,代碼比數學題簡單得多。
數學有標準答案,而代碼的世界里,只要邏輯正確,可以有無數種方式到達終點。
"李院長說下周有檢查,"老陳突然說,"你得回去睡覺了。
明天六點半起床,記得嗎?
"季晨保存文件,乖乖關上電腦。
走到門口時,老陳叫住他:"對了,生日快樂。
"季晨愣住了。
他自己都忘了今天是什么日子。
老陳從抽屜里拿出一個扁平的盒子:"本來打算明天給你的。
"盒子里是一臺二手筆記本電腦,鍵盤上的字母"E"和"Enter"己經磨得發(fā)亮,側面貼滿了**貼紙。
"它有點老,但還能用。
"老陳撓撓頭,"我重裝了系統(tǒng),加了個固態(tài)硬盤。
"季晨的手指輕輕撫過電腦邊緣,像是在**一只小貓。
這是他擁有的第一件真正屬于自己的東西。
"給它起個名字吧,"老陳說,"就像水手給他的船起名一樣。
"季晨思考了幾秒鐘:"方舟。
""為什么叫方舟?
""因為它帶我離開洪水。
"季晨說完就抱著電腦快步離開了,沒讓老陳看到自己發(fā)紅的眼眶。
回到八人間的宿舍,季晨蜷縮在被窩里,打開他的"方舟"。
其他孩子均勻的呼吸聲在黑暗中此起彼伏,筆記本電腦的藍光映在他臉上,像一輪私人的月亮。
他連接上福利院微弱的Wi-Fi信號,開始探索更廣闊的網絡世界。
在某個論壇里,他第一次看到了"黑客"這個詞的定義——不是電視里那些蒙著臉的犯罪分子,而是能夠突破系統(tǒng)限制、發(fā)現真相的探索者。
那晚,季晨給自己取了第一個網名:"幽靈"。
三個月后,季晨發(fā)現了福利院考勤系統(tǒng)的漏洞。
他只是在練習老陳教他的SQL注入技巧,沒想到真的進去了。
屏幕上一瞬間彈出了所有工作人員的打卡記錄,包括李院長上周三次遲到的記錄。
季晨的心跳加速,手心滲出汗水。
這種感覺太奇妙了——在現實世界里,他是個連飯盒都會被大孩子搶走的孤兒;而在這里,他能看到所有人的秘密,能像上帝一樣俯視整個福利院的運作。
他的手指懸在鍵盤上,一個大膽的想法冒出來:如果他能修改數據,是不是就能讓老陳獲得額外獎金?
或者讓總是克扣他們零食的王阿姨被扣工資?
"季晨?
"老陳的聲音嚇得他差點從椅子上摔下來。
他手忙腳亂地想關閉窗口,卻誤點了放大。
房間里的空氣凝固了。
老陳慢慢走到他身后,盯著屏幕看了足足十秒鐘。
"這是怎么做到的?
"老陳的聲音出奇地平靜。
季晨咽了口唾沫:"就是...你上周教的那個...WHERE 1=1...""我知道是SQL注入,"老陳拉過椅子坐下,"我問的是,你為什么要這么做?
"季晨低著頭,盯著自己破舊的球鞋。
鞋尖己經開膠了,露出里面灰色的襪子。
"我只是...想試試看能不能行。
"老陳沉默了很久,久到季晨以為他會叫李院長來。
但最后,老陳只是長嘆一口氣:"這很危險,季晨。
""我不會搞破壞的!
"季晨急忙說。
"問題不在這里。
"老陳摘下眼鏡擦了擦,"網絡不是游樂場。
每個行為都會留下痕跡,每個選擇都有后果。
"季晨偷偷抬眼,發(fā)現老陳的表情不是憤怒,而是...擔憂?
"聽著,"老陳的聲音變得更柔和了,"有能力是好事,但能力越大,責任越大。
****可以做好事,也可以做壞事。
區(qū)別不在于技術本身,而在于使用它的人。
"季晨點點頭,但那天晚上,他還是偷偷連上了網絡,繼續(xù)他的探索。
只是這次,他記住了老陳的話,沒有修改任何數據。
十二歲那年,季晨偶然發(fā)現了福利院財務系統(tǒng)的漏洞。
任何稍微懂行的人都能輕易修改撥款記錄。
他本可以給自己加幾個零,買最新款的***或者智能手機——班里最討厭的張強就總炫耀**爸給買的Switch。
但當他看到系統(tǒng)里那些微薄的捐款數字和長長的待支付賬單清單時,他做了另一件事——寫了一個補丁程序修復了漏洞,然后匿名發(fā)給了李院長。
第二天整個福利院都在議論這個神秘的"守護天使"。
午餐時,李院長甚至特意加了一道***,說是"感謝不知名的好心人"。
只有老陳用若有所思的目光看著季晨,嘴角掛著若有若無的微笑。
那天晚上,季晨在他的秘密博客上寫道:"今天第一次感覺自己不是幽靈,而是真實存在的人。
"窗外,一輪滿月掛在福利院的老槐樹上,潔白的光芒透過鐵柵欄,在季晨的床前畫出一道道明亮的條紋,像是等待被**的二進制信號。
窗外的梧桐樹影投在老舊的顯示器上,將那些綠色的字符切割成碎片。
"又熬夜了?
"老陳的聲音從門口傳來,季晨猛地坐首身體,手肘不小心碰倒了旁邊的可樂罐。
棕色的液體在滿是電路板的工作臺上蔓延,他慌忙用袖子去擦。
"別用衣服!
"老陳快步走過來,扯過一疊廢打印紙按在液體上,"這己經是本周第三次了。
李院長要是發(fā)現你半夜溜出來,非得把我的電腦室給封了不可。
"季晨低下頭,黑發(fā)垂下來遮住了眼睛。
三年過去,當初那個雨中發(fā)抖的小男孩己經長高了不少,但依然瘦得像根竹竿。
福利院統(tǒng)一發(fā)放的藍色運動服松松垮垮地掛在他身上,袖口己經磨出了毛邊。
老陳嘆了口氣,目光落在屏幕上。
他的眉毛漸漸揚了起來:"這是...你寫的?
"季晨輕輕點頭。
"完整的爬蟲程序?
"老陳推了推眼鏡,湊近屏幕,"還加了多線程處理?
老天,我才教你這個概念兩周。
"季晨的嘴角微微上揚。
這是他在福利院學會的第三種表情——第一種是面對李院長時的乖巧順從,第二種是應付其他孩子時的冷漠疏離,只有在這個堆滿電子廢品的房間里,他才會露出這樣的微笑。
"我看了你書架上的那本《Python高級編程》,"季晨的聲音很輕,"第217頁講多線程的那部分有點問題,我按照GitHu*上的勘誤表改了改。
"老陳的嘴巴張了張,又合上。
他拉過椅子坐在季晨旁邊,身上帶著淡淡的**和松香焊錫的味道。
"你知道你才十歲吧?
大多數孩子這個年紀還在為兩位數加減法發(fā)愁。
"季晨聳聳肩,目光回到屏幕上。
對他來說,代碼比數學題簡單得多。
數學有標準答案,而代碼的世界里,只要邏輯正確,可以有無數種方式到達終點。
"李院長說下周有檢查,"老陳突然說,"你得回去睡覺了。
明天六點半起床,記得嗎?
"季晨保存文件,乖乖關上電腦。
走到門口時,老陳叫住他:"對了,生日快樂。
"季晨愣住了。
他自己都忘了今天是什么日子。
老陳從抽屜里拿出一個扁平的盒子:"本來打算明天給你的。
"盒子里是一臺二手筆記本電腦,鍵盤上的字母"E"和"Enter"己經磨得發(fā)亮,側面貼滿了**貼紙。
"它有點老,但還能用。
"老陳撓撓頭,"我重裝了系統(tǒng),加了個固態(tài)硬盤。
"季晨的手指輕輕撫過電腦邊緣,像是在**一只小貓。
這是他擁有的第一件真正屬于自己的東西。
"給它起個名字吧,"老陳說,"就像水手給他的船起名一樣。
"季晨思考了幾秒鐘:"方舟。
""為什么叫方舟?
""因為它帶我離開洪水。
"季晨說完就抱著電腦快步離開了,沒讓老陳看到自己發(fā)紅的眼眶。
回到八人間的宿舍,季晨蜷縮在被窩里,打開他的"方舟"。
其他孩子均勻的呼吸聲在黑暗中此起彼伏,筆記本電腦的藍光映在他臉上,像一輪私人的月亮。
他連接上福利院微弱的Wi-Fi信號,開始探索更廣闊的網絡世界。
在某個論壇里,他第一次看到了"黑客"這個詞的定義——不是電視里那些蒙著臉的犯罪分子,而是能夠突破系統(tǒng)限制、發(fā)現真相的探索者。
那晚,季晨給自己取了第一個網名:"幽靈"。
三個月后,季晨發(fā)現了福利院考勤系統(tǒng)的漏洞。
他只是在練習老陳教他的SQL注入技巧,沒想到真的進去了。
屏幕上一瞬間彈出了所有工作人員的打卡記錄,包括李院長上周三次遲到的記錄。
季晨的心跳加速,手心滲出汗水。
這種感覺太奇妙了——在現實世界里,他是個連飯盒都會被大孩子搶走的孤兒;而在這里,他能看到所有人的秘密,能像上帝一樣俯視整個福利院的運作。
他的手指懸在鍵盤上,一個大膽的想法冒出來:如果他能修改數據,是不是就能讓老陳獲得額外獎金?
或者讓總是克扣他們零食的王阿姨被扣工資?
"季晨?
"老陳的聲音嚇得他差點從椅子上摔下來。
他手忙腳亂地想關閉窗口,卻誤點了放大。
房間里的空氣凝固了。
老陳慢慢走到他身后,盯著屏幕看了足足十秒鐘。
"這是怎么做到的?
"老陳的聲音出奇地平靜。
季晨咽了口唾沫:"就是...你上周教的那個...WHERE 1=1...""我知道是SQL注入,"老陳拉過椅子坐下,"我問的是,你為什么要這么做?
"季晨低著頭,盯著自己破舊的球鞋。
鞋尖己經開膠了,露出里面灰色的襪子。
"我只是...想試試看能不能行。
"老陳沉默了很久,久到季晨以為他會叫李院長來。
但最后,老陳只是長嘆一口氣:"這很危險,季晨。
""我不會搞破壞的!
"季晨急忙說。
"問題不在這里。
"老陳摘下眼鏡擦了擦,"網絡不是游樂場。
每個行為都會留下痕跡,每個選擇都有后果。
"季晨偷偷抬眼,發(fā)現老陳的表情不是憤怒,而是...擔憂?
"聽著,"老陳的聲音變得更柔和了,"有能力是好事,但能力越大,責任越大。
****可以做好事,也可以做壞事。
區(qū)別不在于技術本身,而在于使用它的人。
"季晨點點頭,但那天晚上,他還是偷偷連上了網絡,繼續(xù)他的探索。
只是這次,他記住了老陳的話,沒有修改任何數據。
十二歲那年,季晨偶然發(fā)現了福利院財務系統(tǒng)的漏洞。
任何稍微懂行的人都能輕易修改撥款記錄。
他本可以給自己加幾個零,買最新款的***或者智能手機——班里最討厭的張強就總炫耀**爸給買的Switch。
但當他看到系統(tǒng)里那些微薄的捐款數字和長長的待支付賬單清單時,他做了另一件事——寫了一個補丁程序修復了漏洞,然后匿名發(fā)給了李院長。
第二天整個福利院都在議論這個神秘的"守護天使"。
午餐時,李院長甚至特意加了一道***,說是"感謝不知名的好心人"。
只有老陳用若有所思的目光看著季晨,嘴角掛著若有若無的微笑。
那天晚上,季晨在他的秘密博客上寫道:"今天第一次感覺自己不是幽靈,而是真實存在的人。
"窗外,一輪滿月掛在福利院的老槐樹上,潔白的光芒透過鐵柵欄,在季晨的床前畫出一道道明亮的條紋,像是等待被**的二進制信號。