第8章 破解網吧困局

投票推薦 加入書籤 小說報錯

  縣城的網吧集中在老汽車站附近,沿著一條叫「科技街」的小路排開。說是街,其實就兩百米長,兩側是九十年代建的樓房,一樓門面全被改成了網吧。招牌五花八門:「極速網吧」「星空網咖」「衝浪地帶」「E網情深」,用的是紅藍綠各種刺眼的燈箱字,白天不亮燈時也能看見褪色的痕跡。

  下午兩點,太陽最毒的時候。林浩推著自行車走進這條街,車筐里放著個帆布書包,裡面裝著筆記本、兩支筆,還有那台黑色手機。

  街上沒什麼人,只有幾個少年蹲在網吧門口抽菸,T恤撩到肚皮上,露出精瘦的腰。看見林浩,有人吹了聲口哨:「上網?」

  林浩搖搖頭,推車往前走。他在找一家叫「藍海」的網吧,昨天路過時注意到,那是這條街上最大的一家,門口貼著「光纖接入,百台機器」的紅紙。

  找到了。在街中間,門面比其他家寬一倍,玻璃門上貼著《傳奇》《奇蹟》《石器時代》的海報,已經曬得褪色卷邊。推開門,一股混雜的氣味撲面而來:煙味、泡麵味、汗味、還有機器散熱的風扇味。

  收銀台在後面,是個L形的櫃檯,裡面坐著個二十出頭的年輕人,染著黃頭髮,耳朵上掛著一排耳釘,正低頭看一本卷邊的《故事會》。聽見門響,他抬頭,眼皮抬了一下:「上網?」

  「嗯,開台機子。」

  「身份證。」

  林浩摸出學生證遞過去。黃毛掃了一眼,扔回來:「未成年不能上,規定。」

  「我高考完了,查點資料。」林浩說,「就一小時。」

  黃毛打量了他幾眼,大概覺得不像來打遊戲的,揮揮手:「兩塊一小時,押金五塊,37號機。別打遊戲啊,查到罰款。」

  林浩交了錢,拿了張手寫的小票,上面用原子筆寫著「37-2元」。他走進大廳。

  大廳很大,估計有一百多平米,密密麻麻擺著電腦。都是CRT顯示器,大腦袋,有些屏幕邊角已經發黃。機器分三排,中間有過道。下午人不多,坐了大概三分之一。大部分人在玩遊戲:《傳奇》最多,屏幕上是粗糙的2D畫面,穿著盔甲的小人跑來跑去;《CS》也不少,槍聲和「Fire in the hole」的喊聲此起彼伏;還有幾個在聊QQ,QQ消息的「滴滴」聲很清脆。

  37號機在最後一排靠牆。林浩坐下,椅子是那種藍色的塑料椅,坐墊已經裂了,用透明膠帶粘著。他按下機箱的電源鍵,風扇發出嗡嗡的響聲,顯示器亮了。

  Windows 98的開機畫面。藍天白雲,下面有進度條。等了大概一分鐘,進入桌面。

  桌面很亂,圖標鋪滿了。除了系統自帶的,還有一大堆遊戲快捷方式:《傳奇》《奇蹟》《CS》《星際》《紅警》……以及各種外掛、加速器、修改器。右下角任務欄有幾個常駐程序:一個紅色的小鎖圖標,那是萬象網管系統的客戶端;一個藍色的「e」,是IE瀏覽器;還有一個金山毒霸的圖標,顯示「病毒庫過期」。

  林浩移動滑鼠,點開IE。瀏覽器啟動,自動彈出一個窗口,是萬象網管的登錄界面。需要輸入卡號和密碼——就是剛才那張小票上的號碼,加上老闆給的臨時密碼。

  他輸入。登錄成功,界面跳轉到鎖定狀態,只有IE和幾個指定的軟體可用。他試了試,點「我的電腦」——打不開。點「開始菜單」——大部分選項灰色。右鍵——只有「刷新」「排列圖標」幾個基本功能。

  這是網吧管理系統最基本的限制:防止用戶亂改系統設置,亂刪文件。

  林浩並不意外。他打開IE,在地址欄輸入網址。頁面加載很慢,56K的撥號網絡,進度條一點一點往前爬。等了差不多一分鐘,百度首頁才出來。

  他先查了幾個技術論壇。2002年,國內的技術社區還很稚嫩,CSDN剛成立三年,博客園還沒出現。他常去的一個叫「編程愛好者」的論壇,界面簡陋,帖子不多,但討論的氛圍很認真。

  他註冊了個帳號,ID還是「anonymous」。然後開始搜索關於Flash遊戲開發、網絡通信、系統架構的帖子。一頁一頁地看。

  看了大概半小時,他停下來,揉了揉發酸的眼睛。網吧里煙霧繚繞,幾個少年在大呼小叫地打CS,空氣混濁得讓人頭暈。

  他需要查更專業的資料,但百度上能找到的東西有限。很多外文網站訪問不了,或者訪問極慢。他想下載一些開發工具、參考資料,但網管系統限制了下載功能——嘗試下載時,會彈出提示「此操作已被管理員禁止」。


  這就是2002年的網絡環境:慢,封閉,信息匱乏。

  林浩靠在椅背上,看著屏幕上那些粗糙的網頁。他想起2028年的網絡:光纖到戶,千兆帶寬,全球信息瞬間可達,海量的開原始碼、技術文檔、視頻教程。而現在,他像被困在一個信息的孤島上。

  「小藝。」他壓低聲音。

  口袋裡的手機震動了一下。電量:3.0%。

  「我在。」

  「掃描當前網絡環境,分析網管系統的技術架構和潛在漏洞。」

  「正在掃描……檢測到區域網內共有112台設備,其中107台為客戶端電腦,3台為伺服器,2台為網絡設備。當前客戶端運行『萬象網管2002標準版』,版本號5.8.3。該系統基於C/S架構,客戶端與服務端通過自定義協議通信,使用簡單的異或加密。檢測到三個已知漏洞:1.客戶端密碼驗證可繞過;2.服務端資料庫默認弱密碼;3.客戶端文件訪問限制可通過註冊表修改解除。」

  林浩的眼睛微微眯起。

  漏洞。如果他願意,現在就可以繞過網管系統,獲得這台電腦的完全控制權。可以下載任何軟體,可以訪問系統文件,可以做很多事。

  但他沒動。

  不是道德潔癖,而是更深層的考慮。第一,網吧有監控,雖然他坐的位置是死角,但風險依然存在。第二,他現在不需要做這些。第三,也是最重要的——他想看看,2002年的技術到底是怎麼實現的。

  「小藝,詳細分析第一個漏洞的原理。」

  「漏洞原理:客戶端登錄時,會將卡號和密碼發送到服務端驗證。但客戶端本地有一個配置文件,存儲著上次登錄成功的token。如果修改系統時間,使token不過期,同時修改本地註冊表,偽裝成已登錄狀態,客戶端會跳過驗證直接解鎖。」

  「服務端不會檢測嗎?」

  「會,但檢測機制有缺陷。服務端只檢查客戶端發送的卡號是否在有效期內,不檢查登錄狀態是否匹配。這是典型的『信任客戶端』錯誤。」

  林浩在腦子裡過了一遍這個流程。典型的早期軟體設計問題:為了簡化架構,把太多信任放在客戶端,服務端驗證不充分。在2028年,這種設計會被任何合格的架構師否決。

  「第二個漏洞呢?」

  「服務端資料庫使用Access,默認文件路徑為C:萬象網管data.mdb,默認管理員帳號admin,密碼123456。如果獲得該文件,可讀取所有會員信息、消費記錄,並可修改。」

  「第三個?」

  「客戶端通過註冊表鍵值限制用戶權限。關鍵鍵值在HKEY_LOCAL_MACHINESOFTWARE萬象網管ClientRestrictions。修改或刪除這些鍵值,可解除文件訪問、下載、系統設置等限制。」

  林浩記下了。他沒有動手修改,而是打開記事本,把這些信息記錄下來。不是記錄漏洞利用方法,而是記錄系統的設計思路、安全假設、失敗的原因。

  他在學習。學習2002年的技術人是怎麼思考的,他們的局限在哪裡,他們的創新在哪裡。

  「小藝,能逆向推導出這個網管系統的整體架構嗎?」

  「需要更多數據包分析。但基於現有信息,可推測架構如下:服務端運行在Windows 2000 Server上,使用Access資料庫存儲會員數據,使用自定義TCP服務處理客戶端連接。客戶端為VB6.0開發,通過Winsock控制項與服務端通信。計費邏輯在服務端,每分鐘扣費,餘額不足時客戶端自動鎖定。附加功能:遠程監控、遠程關機、會員管理等。」

  林浩一邊聽,一邊在記事本上畫架構圖。很簡陋的架構,但完整。服務端、客戶端、資料庫、網絡通信,該有的都有。

  他想起2028年華為的雲管理平台:微服務架構,容器化部署,分布式資料庫,全鏈路監控,智能調度。那個系統他參與設計,複雜度是眼前這個的百萬倍。

  但再複雜的系統,也是從這樣簡單的架構演化而來的。理解了簡單的,才能設計複雜的。

  「小藝,如果我需要設計一個更安全的網管系統,基於2002年的技術條件,你會怎麼建議?」

  「建議:1.服務端強化驗證,不信任任何客戶端數據。2.資料庫使用SQL Server,加強權限控制。3.通信加密使用真正的加密算法,如DES或RSA。4.客戶端代碼混淆,防止逆向。5.加入心跳機制,實時監測客戶端狀態。6.日誌系統完善,所有操作可追溯。」


  「實現這些,以2002年的技術水平,需要多少成本?」

  「軟體開發成本約5-10萬元,硬體成本約2-3萬元(伺服器、交換機等)。但更大的成本是技術人才:需要熟悉Windows伺服器、資料庫、網絡編程的開發人員。2002年這類人才稀缺,月薪在3000-5000元,是普通程式設計師的2-3倍。」

  林浩點點頭。他明白了。不是2002年的技術做不到更好,是成本限制。網吧老闆大多不是技術出身,他們只需要一個「能用」的系統,便宜、穩定就行。安全、可擴展、可維護,這些不在他們的考慮範圍內。

  這就是市場。需求決定供給。

  他關掉記事本,繼續瀏覽網頁。這次他看的不是技術,而是行業新聞。2002年6月的網際網路行業,正在從泡沫破裂的谷底緩慢復甦。新浪、搜狐、網易三大門戶還在虧損,但股價開始反彈。騰訊QQ用戶突破一億,但盈利模式依然模糊。阿里剛剛盈利,淘寶網還沒上線。百度還在為門戶網站提供搜索服務,沒有獨立。

  一切都是萌芽狀態。一切都是機會。

  他看了一個小時,時間到了。網管系統彈出提示:「餘額不足,請續費。」屏幕被鎖定,只剩下一個續費窗口。

  林浩沒有續費。他起身,走到收銀台。黃毛正在玩《泡泡堂》,頭也不抬:「下機了?小票。」

  林浩遞上小票。黃毛在鍵盤上敲了幾下,說:「剛好兩小時,四塊。押金退你一塊。」

  林浩接過那一塊錢硬幣,硬幣很舊,邊緣都磨光滑了。他裝進口袋,背起書包,推門離開。

  外面陽光依然毒辣。他推著自行車,沒有立即回家,而是沿著科技街慢慢走。

  路過一家電腦維修店,門口堆著各種舊機箱、舊顯示器。店裡一個戴眼鏡的年輕人正在給一台電腦裝系統,屏幕上Windows XP的安裝進度條緩緩移動。

  林浩停下腳步,看了一會兒。

  「修電腦?」年輕人抬頭。

  「不,看看。」林浩說,「你這能裝Linux嗎?」

  年輕人愣了一下,笑了:「Linux?那玩意兒裝來幹啥?又不能用QQ,不能打遊戲。客戶要裝,我還得勸他別裝。」

  「伺服器呢?有客戶要裝Linux伺服器嗎?」

  「伺服器?」年輕人搖搖頭,「咱們這小地方,哪有人用伺服器。最多是單位里弄個文件共享,用Windows 2000就行。Linux……那得去省城,大公司才用。」

  林浩點點頭,推車離開。

  這就是現狀。技術的普及需要時間,需要市場教育。Linux在2002年已經很有名了,但在這個小縣城,知道的人寥寥無幾。

  他回到家,父母還沒下班。他把自行車鎖好,上樓,開門,進屋。

  家裡很安靜。他打開自己房間的門,放下書包,坐在電腦前。

  但他沒有立即開機。而是拿出那個筆記本,翻到新的一頁,開始寫今天的心得。

  「2002年6月20日,網吧實地觀察。」

  「1.網絡環境:撥號為主,少數網吧有光纖。網速慢,限制多,信息獲取困難。」

  「2.網管系統:萬象主流,架構簡陋,漏洞明顯。反映早期軟體開發的普遍問題:重功能輕安全,重成本輕質量。」

  「3.用戶行為:以遊戲為主,社交為輔。技術需求低,娛樂需求高。」

  「4.技術生態:Windows壟斷,Linux認知度低。開發工具匱乏,學習資源有限。」

  寫完這些,他停下筆,思考。

  他需要一個計劃。一個基於2002年現實條件的計劃。

  遊戲開發可以做,但天花板低。連環畫腳本可以寫,但周期長。他需要找到一個切入點,能快速積累資本,又能為後續發展鋪路。

  他想到了網吧。全縣十幾家網吧,上千台電腦。這是一個現成的、集中的、有消費能力的用戶群體。

  如果他能做一個東西,在這些網吧里推廣開來……

  「小藝。」他低聲說。

  手機震動。電量:2.9%。

  「我在。」

  「查詢:2002-2003年,網吧最需要但還沒有的軟體或服務是什麼?」


  「正在分析……基於2002年網吧經營痛點:1.遊戲更新麻煩,需要手動拷貝;2.系統維護繁瑣,經常中毒、崩潰;3.會員管理原始,還是手寫或簡單電子表格;4.無增值服務,收入單一。」

  「如果我要做一個網吧管理軟體,比萬象更好,更安全,更有增值功能,需要多少時間?」

  「如果您獨立開發,基於現有技術積累,預計需要3-6個月。但更高效的方式是:找到現有開源項目修改,或與現有團隊合作。」

  「開源項目?」

  「2002年已有一些開源網管系統,如『網吧管家』早期版。但代碼質量一般,功能有限。建議:以萬象為參考,重寫核心架構,加入現代設計理念。」

  林浩沉思。3-6個月,太長了。他等不起。

  但也許不需要完全重寫。也許可以先做一個插件,一個工具,解決網吧老闆最頭疼的一個問題。

  「遊戲更新。」他說。

  「是的。2002年網吧遊戲更新是最大痛點。新遊戲需要安裝,老遊戲需要更新補丁,每台電腦都要操作。常用做法:用移動硬碟或光碟一台台拷貝,耗時耗力。」

  「如果做一個自動更新系統呢?」

  「技術上可行。服務端存放遊戲文件,客戶端定時檢查更新,自動下載安裝。需要解決:增量更新、斷點續傳、帶寬優化。以2002年網絡條件,挑戰較大,但非不可能。」

  林浩的眼睛亮了。這個可以做。而且有明確的商業模式:向網吧收費,按月或按年。全縣十幾家網吧,一家每月收一百,一年就有一兩萬。如果推廣到全市、全省……

  更重要的是,通過這個系統,他可以掌握終端——網吧的每一台電腦。未來可以推送自己的遊戲,可以做GG,可以做數據分析。

  這是入口。是流量入口,也是數據入口。

  「小藝,調出遊戲自動更新系統的技術方案概要。基於2002年的技術條件。」

  「正在整理……核心組件:1.服務端,存放遊戲文件,提供HTTP或FTP下載。2.客戶端,常駐進程,定時檢查更新列表,下載差異文件。3.管理端,供網吧老闆添加遊戲、設置策略。關鍵技術點:文件差分算法(如bsdiff)、壓縮傳輸、斷點續傳、錯誤重試。」

  「開發周期?」

  「如果您獨立完成,預計1-2個月。如果找到合作夥伴,可縮短至3-4周。」

  林浩握緊了筆。1-2個月。可以接受。

  但他需要一台伺服器,需要帶寬,需要測試環境。這些都需要錢。

  連環畫的3000元還沒動,遊戲的1300元過幾天到。加起來4300元,租一台伺服器應該夠幾個月。但帶寬費、電費、維護費……還需要更多。

  他需要儘快啟動,儘快驗證,儘快變現。

  「小藝,記錄:下一步計劃,開發網吧遊戲自動更新系統。目標:兩個月內完成第一個版本,在縣城三家網吧試點。」

  「已記錄。建議:先做市場需求驗證,與網吧老闆溝通,了解真實痛點和付費意願。」

  「對。」林浩點頭。不能閉門造車。他需要走出去,了解真實需求。

  他看了一眼時間,下午四點。父母快下班了。

  他合上筆記本,打開電腦。沒有立即開始寫代碼,而是打開Flash,繼續做第二個遊戲。更新系統需要時間,這期間他需要用遊戲維持收入。

  鍵盤聲又響起來。嗒。嗒嗒。嗒。

  沉穩,堅定,像心跳。

  窗外的陽光西斜,照在書桌上,照亮了筆記本上那一行字:

  「入口就是一切。控制入口,就控制了一切。」

  林浩知道這句話是誰說的。但他也知道,控制不是目的,服務才是。只有真正解決問題,創造價值,才能長久。

  他要做的不是控制,而是服務。

  服務這個時代,服務這些人,服務這片土地。

  鍵盤聲持續著,在黃昏的房間裡,像某種誓言。

章節目錄