Carbon/CFMでppcバイナリの位置をずらす

rsrcのcfrgでPPCコードの位置を指定できるため、MP3やQuickTime、GIFなどのヘッダやタグに紛れ込ませることが可能になっている。
で、リソースフォーク内にPPCコードの位置が書き込まれている理由を考えてみた。

  • 68kとのファットバイナリ
  • ある種のアプリケーションのプラグイン
  • ドキュメントベースアプリケーション

あたりかなぁ。昔、シンプルテキストでも読めるけど、ダブルクリックで開くとヘルプビューアになるのとかあったような記憶がある。
この仕組みを用いてナニソレさせない仕組みはしろやまさんがいま何かやってるらしいので、期待して待ってましょう。

結局のところ

今回のMP3CONCEPTの脅威の核はアプリケーションをファイルに埋め込むことができ、さらにファイルとしても使えてしまうため気づかれにくいということにつきるが、一回目のダブルクリックで起動してしまう脅威は、ファイルとして振る舞えるかどうかに関わらず存在するのではないだろうか。
Cocoaであっても拡張子が見えずファイルアイコンがついていると一見普通のファイルに見えるわけで。ダブルクリックで起動した直後にバインドされたファイルを目的のアプリケーションへ送り込めばいい。
この、一回目のダブルクリック(または自動実行)での脅威を引き下げることが望ましいと私は考えているわけです。そのための起動パス制限や実行権限の手動付与*1は、十分に効果的ではないか、と。
ただ、ここに固執してしまったために問題の核を見えにくくしてしまったなぁ。

*1:起動パスだって自由に設定できていいし、別にchmod +xしろってんじゃなくて、初回起動時にかならずアラートが出るだけでいいんだよね。で、起動できないアプリケーションは凍ってるとかカプセルに入ってるとか、判りやすいルックスになってればいい