CarbonDater

Renamerに対してCarbonDaterを実行。

CarbonDaterとは、PPC実行ファイルのゆうたらインポートテーブルを調べて、

  • リンクしているAPIの一覧
  • ローメモリグローバルにアクセスしているかどうか。 MacOS 9以前では全システム・全アプリが同一のメモリ空間で動くので、システムグローバル変数をアプリが直接見れるのであった
  • システムヒープへのリソースロードを行なっているかどうか。 MacOS 9以前ではシステムが予約している領域にリソースをロードすることができ、こいつをロード後にDetachすることで常駐リソースとすることができるのであった。 使い方としては実行コードをロードして、トラップテーブルを書き換えてその実行コードをシステムファンクションに置き換えて、そのまま常駐させるように設定してからプログラムを終了する、というようなものがある。当然、MacOS Xのプロセスごとのメモリ空間(保護されたメモリ空間)では正しく動作しない。
の一覧を出してくれる。 さらにCarbonDater@apple.comにこの出力ファイルを添付ファイルとして送付すると、ファイルを自動的に調査して
  1. カーボンでサポートされている
  2. カーボンにも存在するけど動作が変わっているので注意
  3. カーボンでもサポートされているが推奨はしない
  4. カーボンではサポートされていない
の4種に分類し、プログラムのどこ(というかどのAPIを使用している部分)を直せばよいか(英語で)返答してくれる。

このシステムが今日(4/3)の時点でClaris Emailer 2.0v3を使って構築されていることに驚いた(ちなみに5〜6年ぐらい前には私もClaris Emailer 2.0v3を使ってた)、というのはさておき。

いやはや結構直さないとダメね。

Supported APIが182に対し、それ以外の3種合計は81。1/3ぐらいが要見直し。

先は長いです。


そだ。

作者友の会で、iWeekに出展することが正式に決定された。

今年は何年ぶりかに出品できそうで楽しみ。