ゆうちゃんなのか

一連の遠隔操作ウィルスのプログラムの情報が開示されています。そのプログラムの中で使用されている命令なんかの名前が入っています。
http://www.keishicho.metro.tokyo.jp/jiken/jikenbo/enkaku/image/pdf/4class.pdf
ぱっとみてわかるのは、これは拾ってきたものを継ぎ合わせたもので、かつ制作者がプログラムの美しさに対して無頓着なタイプ、またはあまり物事を突き詰めたがる性格ではないと言えることです。
普通、プログラムを書くときは名前をつける規則があります。仕事として書くプログラムは当然ありますし、個人が遊びで書く場合でも(むしろその場合のほうが)洗練された名前をつけるものです。
ここに上げられた関数名は

  • 大文字で始めるか、小文字で始めるか
  • 単語の区切りを_にするのか、大文字にするのか

という、息を吸って吐くようなレベルで統一されていません。意図的にそうしている可能性もなくはないですが、そういうプログラマーならば、関数名自体あとからランダムなものに変えるとか、あるいは難読化*1するはずです。そっちのほうが手がかかりませんから。


もう一つ気がつくのがForm1というクラス名です。これはWindowsGUIプログラムのデフォルトで使用されていた名前です。おそらく動作確認にGUIを使っていたものと思われます。ここから推測されるのが、コマンドラインが当たり前という人とは違う文化圏にいると思われることです。
プログラムの勉強をする人は、コマンドラインから入るのが普通です。GUIって間に入るものが多いから、プログラミング言語を単純に勉強をするには向いてないんです。GUIが必要なものならともかく、ウィルスにGUIつけるバカはいません。だから、情報処理を専門に学んだ人ではなく、就職がそうなってしまった人をイメージさせます。
そしてForm1(Windows Forms)というのは、少なくともC#においてはロストテクノロジー、とまでは言いませんが、古くさいものです ここからもプログラミングそのものには興味がなさそうな様子がうかがえます*2


そしてC#ですが、上記のようなイメージの人がやりたいと思って始める言語ではなく、どちらかといえば、「仕事でしょうがなく」というものです。


ということで、現在の容疑者のいう「動作確認した程度」が事実だとすると、なんかイメージ違うなぁ、という感じです。


同じ脅迫なら黒子のバスケの方に本気出してほしいもんです、ぐらいのことしか思うところはなく、あまり事件そのものには興味がないのですが、「うわー、こんなのと一緒にコード書きたくないわー」とだけは思ったので書いておいてみたりしました。

*1:C#機械語ではなく中間言語に変換されるため、比較的容易に人間が読める状態に戻すことができる。そしてそれを避けるため、簡単に人間が読める状態に戻せないようにする技術もある。

*2:ここまで書いておいてGUIコミでコピペの可能性あるなと気がついた