第一街杂志 – 闲话网络
First Street Magazine / Tech Archive

闲话网络

从汇编代码到流量江湖
By 第一街 2014 — 2025 #GEEK #HISTORY

九十年代初,个人电脑尚未普及,我正值大学时光。彼时学校开设了 BASIC 和 FoxBASE 课程,但在那个通信尚靠纸笔、红袖添香更是奢望的年代,电脑游戏便成了穷学生最亲切的慰藉。

为了在虚拟世界中获得更好的体验,我开始琢磨起两件事:一是如何修改游戏人物的各项指标,比如生命值和宝物数量;二是如何与机房老师斗智斗勇,争取更多的上机时间。这两件事,在无意间开启了我的技术启蒙。

01 博弈

玩《三国志》时,为了提高武将的逃跑成功率,恨不得人手一匹赤兔马。那时互联网只是传说,既无攻略论坛交流,也无现成修改器可买,唯有自己动手,丰衣足食。

于是,我从汇编语言学起,钻研操作系统底层逻辑与文件加解密技术,甚至为了防止自己的“作品”被随意复制,还专门编写了一个压缩软件。这种出于游戏需求的“逆向工程”,实际上是思维方式的巨大转变。

编制工具软件与开发应用程序截然不同:后者有成熟的高级语言,只需专注算法逻辑;而前者必须直面电脑的物理层面,与操作系统底层、文件存储、扇区读写短兵相接。

这段“小打小闹”的经历让我受益匪浅。日后接触 Windows、Mac OS 等保护模式操作系统时,我不再感到陌生;每当遇到系统故障,思维本能地就会下潜到机器代码的层面去寻找病灶。

; ==========================================
; 函数名: ReadDiskSector
; 功能: 读取 1 个磁盘扇区到内存缓冲区
; ==========================================

ReadDiskSector:
    ; 1. 准备内存缓冲区 (ES:BX)
    MOV AX, 0x07C0   ; 目标段地址
    MOV ES, AX       ; 加载到 ES
    MOV BX, 0        ; 偏移量 0

    ; 2. 设置读取参数 (CHS 寻址)
    MOV AH, 0x02     ; 功能号:读取扇区
    MOV AL, 1        ; 读取数量:1
    MOV DL, 0x80     ; 0x80 = C盘
    MOV CH, 0        ; 柱面
    MOV DH, 0        ; 磁头
    MOV CL, 2        ; 扇区 (从1开始)

    ; 3. 调用 BIOS 中断
    INT 0x13         ; 磁盘 I/O 服务

    ; 4. 检查结果 (CF标志位)
    JC ReadError     ; 失败跳转
    JMP ReadSuccess  ; 成功跳转

ReadError:
    CALL ResetDiskController
    JMP ReadDiskSector

ReadSuccess:
    RET

90年代初的游戏数值基本不加密,32就是32,顶多换算成十六进制的 20H。通过反复比对数值变化,缩小搜索范围,总能定位到物理存储地址。改多改少全凭心情,要面子的翻个倍,没底线的直接改到溢出。

正是这种商家与玩家的博弈,催生了后来日益复杂的加密技术。道高一尺,魔高一丈,随后出现了由台湾团队开发、大陆金山等公司跟进的专业修改软件。这些工具背后的思路,也能轻松破解许多加密文件。再后来,随着专业软件的普及,自己手写工具已无必要。回想 DOS 时代,许多技术门槛并不高,关键在于是否钻研。那段没钱也没女友的时光,或许恰恰成就了一批早期的电脑专家。

02 机房

当年的机房,如今叫网吧,其正式名称是学校运营的计算机实验室。凭卡上机,每小时一元,多买虽有优惠,但在当时对学生而言仍是一笔不小的开销。

初见 IBM 486 时,唯有“惊艳”二字可以形容。此后经手的电脑虽性能千倍于它,却再难找回那份最初的触动。

现在的孩子很难理解用三十多张软盘轮流插入、只为安装一个游戏的滋味,更难体会在没有存档功能的年代,电脑死机后心血付诸东流的无奈。当时机房电脑分为 C、D 两区,C 盘不仅容量小而且被施加了写保护,个人应用只能装在 D 盘,重启即遭清空。

于是,“破解硬盘写保护”迅速上升为主要矛盾。这涉及 BIOS 操作,不像今天百度一下便知,我们几个同好研究了数月才攻克难关。对此,老师们也是睁一只眼闭一只眼。机房角落的几台电脑逐渐成了我们的专座,甚至成了我们通过隐藏文件在 C 盘交流资料(包括各种图片)的秘密基地。

当时有位机房老师长得颇像影星吴启华,技术精湛但对学生有点凶。学校机房是严禁玩游戏的,但游戏恰恰是我们的第一需求。老师值守机房也很无聊,也要靠打游戏打发时间。一天,我看他玩游戏总卡在某一关,便悄悄告诉他生命值的存储地址。他是科班出身,一点即透,随手就将数值改到爆表——如今流行的“爆表”一词,我们在二十年前就身体力行了。自此建立起“革命友谊”,我便专挑他值班时去上机,省下了不少机时费。

03 网络

我首次接触真正的网络,是在附近理工大学的 Novell 局域网。

当意识到海量资料可以通过网络存取,甚至能与他人实时文字聊天时,世界观被刷新了。联网电脑与单机竟是如此不同!单机游戏打得再好,战胜的不过是冰冷的逻辑,何况还常伴随着作弊。而联网对战,屏幕对面是与你一样绞尽脑汁的真人,这种对抗的变数与乐趣是无限的。

也是在理工大的机房里,我第一次接触到了 Unix 系统。它那复杂的指令集和深不见底的功能瞬间超出了我的认知,却也散发着迷人的魅力。如果说 C 语言是一辆汽车,那 Unix 就是一架航天飞机,能带你驶入浩瀚的未知。

C 语言编写的程序可直接在 Unix 下运行,这一点极具优势。相比之下,汇编语言虽能直接操纵硬件,却过于原始繁琐:一个简单的文件操作就需要数百行代码,调试稍有不慎便是数小时的挫败。而 C 语言不仅高效,相比晦涩的汇编,就连常被人诟病的“指针”也显得眉清目秀起来。

04 语言

C 语言及其衍生的 C++、Visual C,至今仍是编程界的基石。即便在人工智能大行其道的今天,那些花样翻新的新语言,归根结底都建立在 C 语言打造的生态系统之上。

互联网时代初期,JAVA 曾如日中天。它可视为 C 的简化版,剔除了直接读写内存等易导致系统崩溃的危险操作,保留了相似的语法,并加入了 Socket、类等特性。

class CardGame {
  void main() {
    System.out.print("Da Gunzi Supported");
  }
}
// JAVA: Write Once, Run Anywhere

JAVA 的核心优势在于跨平台:编程时无需考虑对方的硬件配置,只要安装了虚拟机,代码便能通行无阻。这对网络编程而言是划时代的——所谓划时代,往往就是把人从简单的重复劳动中解放出来的思想。

JAVA 流行时,我身在大连——一个将扑克牌游戏“打滚子”视作社交礼仪的城市。业余时间,我用 JAVA 写了个支持局域网四人对战的“打滚子”游戏,那时联众游戏平台尚未诞生。

与 JAVA 相关的另一个概念是 JavaScript(JS)。它在设计思想上继承并精简了 JAVA,但二者并无血缘关系。如今打开任意网页,大半是 JS 与 PHP 的天下。由于 JAVA 和 JS 都严格限制对本地硬件的读写,要想实现对远程电脑的深度操控(也就是所谓的黑客行为),往往还得回归到 Unix 时期的网络技术,重拾 C 语言系列。

如今,编程有 Python,数据库有 MySQL,脚本有 PHP,技术门槛比 C 语言时代降低了许多,更重要的是形成了拥有海量拓展功能的完整生态。

05 驻留

在 DOS 时代,控制电脑的常用手段是编写“内存驻留程序”(TSR)。

这类程序表面上已运行结束,实则潜伏在内存深处,监听键盘、鼠标、硬盘等中断信号。记录键盘敲击在技术上非常简单,真正的难点在于如何神不知鬼不觉地混入系统、躲避杀毒软件并抹除痕迹。因此,TSR 技术堪称早期黑客的入门必修课。

进入 Windows 时代后,汇编语言逐渐隐退,C 语言接过了这一接力棒。而在网络时代,驻留程序不再局限于监听,更多的是留下预设口令的“后门”,用于远程窥探或将信息回传。对于普通用户而言,只要不随意安装来路不明的软件,配合正版系统和防护软件,被黑的概率依然很低。

06 Web

1996 年前后,电话拨号上网开始走进中国普通家庭。那时一台电脑的价格相当于普通人一年的收入,其经济压力不亚于今天买车。直到 1998 年克林顿“拉链门”事件致使雅虎瘫痪,人们才惊觉网络已然成为公众获取信息的核心渠道。

雅虎(Yahoo) 曾一手揭开了门户时代的序幕,极具远见地整合了搜索、浏览与邮件服务,定义了初代网民的“冲浪”方式。虽时过境迁,它已不复当年的统治力,但作为数字世界的拓荒者,依然值得敬意。

2002 年,局域网和宽带互联成为许多单位的标配。同年,我负责建设单位的办公网络,从服务器端能清晰看到每个节点的数据流向,那一刻我不禁感慨:网络无隐私。项目验收后,我迅速移交了管理权——既因志不在此,也深知这是个风口浪尖的位置。

2002 年以前,大多数人只是网络的看客,互动仅限于聊天室、QQ 和 MSN。

聊天室:那是谈人生哲学的地方,当然更多时候是在约会和吵架。随着移动互联网兴起,它逐渐式微。

MSN:背靠 Hotmail,在谷歌崛起前曾不可一世。

QQ:如今的国民软件,但许多人或许不知道,早期的 QQ 号注册是需要付费的。这种“收费”往往并非初衷,而是激烈的生存竞争所致。但历史证明,自由与免费,才是互联网不死的灵魂。

让大众真正知晓“博客”概念的,是两位女性。

一位是竹影青瞳,2002 年前后她在博客上发布了大尺度个人写真。虽如昙花一现,却让公众第一次见识了博客的传播力。

另一位是木子美。2003 年前后,她以一份《遗情书》及录音引爆网络,其筛选男记者的标准更是惊世骇俗。

Tianya Club Archive / 2003
天涯社区 藉此崛起,成为当时的“中国第四大媒体”,留下了“外事不决问谷歌,内事不决问百度,房事不决问天涯”的江湖传说。

天涯影响了一批事件,创造了一批语汇,更塑造了一批名人,堪称网络时代的黄埔军校。木子美文笔洗练,目光毒辣,撕开了无数伪装。如今其名虽已成敏感词,恰如《红高粱》上映后,无数高粱地应声倒伏。

若干年后,新浪微博上曾活跃着一位文笔辛辣的“不加V”,人称木老师。后来“不加V”也销声匿迹,据说已化身为一只乌鸦,继续点醒世间道貌岸然之辈。鸟在文化中本就地位非凡:三足乌是太阳之灵,凤凰能浴火重生,密涅瓦的猫头鹰更是智慧的化身。看着木老师那些曾经的爆文,倒真让人对鸟类油然起敬。

07 后记

本文是将我 2014 年发布的几篇零散微博整理而成的合集。

发布在微博等第三方平台的文字,往往会随着账号的变迁无声无息地消失,这篇旧文便是一例。好在我一直有自行备份记录的习惯。本次重发,顺应时势删减了部分内容,并略作修饰。

2026年1月5日 补记