browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

走火入魔

Posted by on 2007 年 12 月 04 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

还是在学东西,总觉得学无止境。其实有的时候总想去跑去跳、去痛饮以及去酣睡,但程序总是个大黑洞,令人欲罢不能欲离难开。在犹豫和踌躇之间,突然发现自己写程序已不再是一个exe配一个dll,而变成了一个exe配一个sys——就这么进入了Windows系统的最底层。

记得两三年前有个网友突然对我说:“我现在在写驱动,这东西真强,什么都能干!”而且,言语之间还流露出了些许对我这个ring3程序员的蔑视,虽然在这之前我经常为他的ring3问题答疑。不过,我仍然没有进入ring0,因为其时在我看来DDK就是那种和硬件打交道的东西,而这又是我所不感兴趣的。

大约一年前,某男Y仍留在qihoo的时候曾不经意和我说到,360safe的一个厮就是因为360safe做到了内核觉得没劲了所以毅然离职。于是我便用这个事迹聊作安慰,继续阻止自己进一步的学习,而且似乎还很心安理得。不过这个时候,我已经开始在叹息之墙外徘徊了,只是仍然旁观。

现在,再回头翻翻我的《城里城外看SSDT》,它定稿于今年7月初,距今只有5个月的时间——也就是说,我学习DDK到现在尚不足半年。但是,我却在这半年中在自己的身上窥见了我所冷眼旁观过的百态与炎凉:这半年,我亦曾有了一种视野开阔的自豪,亦曾蔑视过众多进程管理器的CreateToolhelp32Snapshot和EnumProcesses,亦曾盲目地认为自己已经一览众山小了。

但是,这些都不是真相。所有的狂妄与自大,都止步于我的“PDB Explorer”。在实现这个工具“前进”、“后退”的浏览功能时,我需要一个双链表的模板类。于是我信手写就了一个DoubleList类,但出乎意料的是,在这个不足200行代码的类里竟然出现了很多bug,还花去了我一个小时的调试时间。

于是,不再自豪,不再蔑视,不再盲目——我清楚地意识到,这半年的内核旅游,竟然使得我走火入魔。半年来我居然曾经乐此不疲地把注意力投射在挂钩与反挂钩、隐藏与反隐藏、终止与反终止这些事情上,日益增生的邪恶的快感让我忽略了一个最基本的东西:

程序 = 算法 + 数据结构

想来惭愧,我曾多次大言不惭地用这个公式教导我的学弟学妹,但自己却一度将其束之高阁。

本篇Blog立此存照,并以自警。

订阅本站

4 Comments

  • At 2007.12.05 08:32, yy said:

    顶,程序=算法+YY

    • At 2007.12.05 10:04, sinper said:

      恩!
      程序 = 算法 + 数据结构
      呵呵..现在还在看数据结构方面的东西..感觉还是很欠缺….

      • At 2007.12.30 00:14, dd said:

        男Y是谁

        • At 2008.01.08 18:58, ww said:

          程序=算法+数据结构+YY

          (Required)
          (Required, will not be published)