検出プログラムらしきものと、サンプルのトロイの木馬ファイルが配布されているので、ダウンロードして試してみた。
まず、件のMP3ファイルだが、これはもう明らかに「アプリケーション」だった。ファイルのタイプを調べるだけで分る。パッケージ構造にすらなっていない。まあ、パッケージ構造になっている時点でそれを元にチェックはできてしまうので、この線をしつこく検証してもしょうがない。
Mac OS Xでは従来の流儀を捨てて、というよりも他のOSとの折り合いをつけるために拡張子を導入した。当初はかなり抵抗を覚えたが、従来の「クリエータ」と「ファイルタイプ」で識別する方法も併用しているため、ユーザーにさほど混乱があるわけでもない。いつ頃からかは忘れたが、拡張子は普段は見えないように設定されるようになったためだ。Jaguar(Mac OS X 10.2)の頃からだっただろうか。
コマンドラインかAppleScriptから操作を行えば、「実はアプリケーションだが、拡張子がMP3」というファイルも作れてしまうことだろう。実際のMP3のファイルをどう格納しているのかはファイルのダンプでもしてみないと分らないが、ちょっとだけそこにテクニックを感じる……ような気がする。
チェック用のサンプルを見てみたが、こちらはあまり見るべきものはなかった。ファイルタイプを調べているぐらいの処理だったし、だいいちXcodeのプロジェクト設定が「絶対パス」になっていたため、そのままではコンパイルできなかった。「プロジェクト内相対」でなく「絶対パス」にしておくといいことがあるのだろうか? 自分のマシンの中の別ディレクトリにプロジェクトのフォルダごと移動したら、作者本人ですらコンパイルできないというのに。こういう設定のプロジェクトは見たことがない。
変数の宣言の仕方も変だった。ハンドラ内で宣言しないで変数を使う場合にはデフォルトでローカル変数扱いになるのだが、ご丁寧にハンドラ内でローカル変数の宣言をしていた。他の言語の経験のある人がちょっと手を出してみたというところだろうか。
ただ、こうして他人のソースを見るのは勉強になる。狩り場は主に海外になるが、開発系のサイトをのぞいては、サンプルが転がっていないかと見て回っている。
肝心のトロイの木馬騒動は、「そういう手口もありえる」という話がふくらんで、騒ぎになってしまったという可能性が濃厚のようだ。