堕落したWindowsプログラマのレベル -10

  1. XPのタスクマネージャーで表示される「メモリ使用量」の意味を理解している。そのうえで、これを減らすためだけの技巧を凝らす。メモリ使用量が少なく見えれば、ユーザーの満足度は上がるさ!
  2. DLLインジェクション+APIフックが便利だ。フックする際は、IATフックが有効でない場面、インラインフックが危険な場面を理解しつつも、めんどくさいと思い気にしなくなった(クラッシュするのは僕のプログラムじゃないしね)。
  3. Undocumentedな構造体やAPIも便利だと思えば使う。興味深い機能は逆アセンブルして実現しているAPIとその使い方を特定することがある。
  4. ユーザーモードでは力不足と感じて、カーネルモードコードの開発も選択肢に含める。コードの量も少なくてすむし、スマートな方法だ。青画面になるかもしれないが、Readmeに一言書けばいいだろうと考える。
  5. ユーザーモードプログラミングは面倒が多いのでカーネル空間でやった方が早い、という目的・状況がしばしばある。
  6. GDI32の関数のほとんどを知らないか、忘れた。USER32はSetWindowsHookExをexportしていることだけ覚えている。それで特に困らない。
  7. こんな複雑なカーネルモードのAPIを使うくらいなら、システムの内部構造体を直接参照した方が楽だなあ、と迷う。
  8. Windowsカーネルの逆アセンブルを見ながら青画面の発生を回避するためのHackを重ねている。
  9. Windowsカーネルのなかで動く、自分の書いたコード以外のすべてのコードが邪魔で、Windowsうざい、とか思う。
  10. オープンソースなOSの素晴らしさに気づく。

ネタ元:堕落したCプログラマのレベル -10