peketaminの日記

その辺のプログラマーのチラ裏です。

Macでタイプ不明のファイルがあって結局エイリアスファイルだった

前に Mac で使ってた HDD の中に 3 つ、不明なファイルがあって、

  • "fuelphp"
  • "ネットワーク図作成"
  • "読書"

というファイル名で、拡張子なし。

まぁ、ファイル名は本題には全く関係なく、なんのヒントでもないのだが。

$ file <ファイル名>

してみても "data" としか判定してくれない。

Vim で開いてみても落ちて読めない。

下記のバイナリエディタで見てみる。

0xED

"book mark" という文字とファイルパスがいくつか見えた。

ブックマーク?大体のブラウザは HTML で拡張子付きでエクスポートされるし違うだろう。

他にブックマーク使うアプリあったっけ?

PDF の栞?うーん。そんなのエクスポートできないし、Evernote関係?いやいや。

全然わからないので、 VirtualBoxWindows を起動して、ファイルタイプ判別ソフトである、

極窓

をインストールして見てみようとする。

ところが、起動しない。 Windows 7 64bit には対応してないか?いや、対応してるっぽいぞ。

VB6 ランタイムが必要らしい。 Windows 時代に、それはよくやった。簡単簡単。

「エラー 2709 オフライン参加完了情報が見つかりませんでした。」

というエラーが出た。

え、何に参加しようとした?参加って何?運動会とか同窓会とかそういうの?おれ、そういうの苦手だなー。

調べると Windows Update でインストールされるあるパッチの既知の不具合らしい。

Yahoo!知恵袋 (VB6SP6ランタイムのインストールエラーについて質問です。VB6SP6ランタ...) を見て、公式も見て、 指示通りにレジストリにキーと値を作るとエラーも出ず、バッチリ インストール完了できた。

無事、極窓の起動が出来て、さぁ判別するぞ、と共有ボリューム内の冒頭のファイルを判定に掛けると、 「?」 の文字が出た。種別を "AUTO" にしても、"特殊形式対応" のチェックを入れても、 "mac" のチェックを入れても、はてなマークしか出ない。

極窓にも簡易バイナリビューワが付いてたので、それでファイルヘッダを見てみると、

"bookmark88" と書いてある。これはヒントなのでは?

ググると似たようなページが見つかるぞ!どうやら…エイリアスらしい!

じゃ、これはエイリアスとしてのメタデータを失ったエイリアス自体のファイルなのか。

試しに適当なテキストファイルを作って、そのエイリアスも作る。そして、そのエイリアスを ターミナルで

$ od -a <エイリアスファイル>

(od は、 "octal, decimal, hex, ASCII dump" ということでコンソールでバイナリを閲覧できる)

エイリアスファイルのヘッダ部分を見てみると、

0000000    b   o   o   k nul nul nul nul   m   a   r   k nul nul nul nul
0000020    8 nul nul nul   8 nul nul nul   @   9 ack nul nul nul eot dle

ををを! 間に null は入っているけど、 "bookmark88" の文字があるではないか!

というわけで正解は、

エイリアスであることを認識させるためのメタデータを失ったエイリアス自体のファイル

ということでしたとさ…。

調査に 1 時間かかったよー。さ、消そ消そ…。