ROMのゴースト





古いコンピューターは、完全に予期しない秘密を保持する場合があります。 NYResistorのメンバーは、ブルックリンの道路脇にある先史時代のMacintosh SEコンピューターのフラッシュメモリからいくつかのデジタル写真をどのように英雄的に検索しようとしたかについてストーリーを公開しました。 彼らはこれらの写真の中の未知の人々を「ROMの幽霊」と呼んだ。



道路の脇にあるMacintosh SEコンピューターが自転車のトランクに搭載され、持ち帰られました。







コンピュータは起動しましたが、ストレージメディアが含まれていませんでした。 しかし、研究者はデジタル考古学に取り組むことにしました。 マザーボードから2つのROMチップを取り外し、 PROMdateデバイスを使用してダンプしました。







ROMチップはM27C512 PROMプログラマブルフラッシュメモリチップに似ていますが、ここでのみプログラマブルではないため、対応する接点はなく、ROMアドレススペースは、プログラマブルM27C512の通常の64 KBと比較して128 KBに増加します。



コンピューターは16ビットバスで実行され、2つの8ビットチップにはそれぞれ1ワードの半分が含まれているため、一緒に256キロバイトの単一のバイナリファイルにマージされます。 ダンプおよびマージ操作は成功しました。 strings



の検索では、「Chicago」、「PACK」、「CDEF」などの読み取り可能なテキストが返されました。 マージ後のバイトの順序が間違っている場合、PACKではなくAPKCのようなものがあります。



研究者は、Appleの作成者の秘密の写真で同じイースターエッグを見つけようとすることにしましたが、これらのデジタルファイルを抽出することはできませんでした。



イースターエッグのマニュアルでは、画像はアドレス0x41D89Aから非表示になっています。 研究者は、 Mini vMacエミュレータの歴史的なROMからブートし、そこに何かがあることを確認しました。 しかし、彼らは特定の写真を撮り、ROMに隠されているかもしれない他の秘密を探したかったのです。



バイナリROMファイルはELF形式に変換され、フラグメントは0x41D89Aの領域で調査されました。



  41d89a:4eba 0018 jsr%pc @(41d8b4 <rom + 0x1d8b4>)
   41d89e:5847 addqw#4、%d7
   41d8a0:0287 0000 000c andil#12、%d7
   41d8a6:6100 002e bsrw 41d8d6 <rom + 0x1d8d6>
   41d8aa:307c 00b5 moveaw#181、%a0
   41d8ae:a03b 0120073
   41d8b0:4efa ffec jmp%pc @(41d89e <rom + 0x1d89e>) 


Motorolaは、Motorola 68000プロセッサ用にすべての0xA命令を予約しているため、0xa03b命令は明らかに疑わしいように見えます。 つまり、この関数は次のようにCiに変換できます。



 void easter_egg(void) { func_41d8b4(); while (1) { d7 = (d7 + 4) & 0xC; func_0x41d8d6(); _Delay(181); } }
      
      





この関数は0x41d8b4を参照します。



  41d8b4:31fc ffff 0b9e movew#-1、b9e
   41d8ba:594f subqw#4、%sp
   41d8bc:2f3c 6262 6d63 movel#1650617699、%sp @-
   41d8c2:4267 clrw%sp @-
   41d8c4:a9a0 0124640
   41d8c6:201f movel%sp @ +、%d0
   41d8c8:6700 0050 beqw 41d91a <rom + 0x1d91a>
   41d8cc:2040 moveal%d0、%a0
   41d8ce:21d0 0a78 movel%a0 @、a78
   41d8d2:7e00 moveq#0、%d7
   41d8d4:4e75 rts
 ...
   41d91a:a9ff 0124777 


_GetResource



(0x62626d63)へのリンクがあり、プログラムの実行が明らかに開始されます。 リバースエンジニアリングに関する相当な作業の後、専門家は構造を復元し、 PackBits形式のデータを検出することができました。 PackBitsのアンパックユーティリティとhex2pngユーティリティを使用して、これらのビットは536ピクセルの行に配置され、人々の顔が最初に画面に表示されました。



1986年11月20日付の不明なApple従業員がROMに貼り付けた4枚の写真。



















NYResistorのハッカーは、パズルを最後まで解くために、誰かが25歳の写真からこれらの人々を認識したかどうかを知らせるよう求められます。



ちなみに、別の5番目のデータ領域がROMで見つかりましたが、まだ解読できませんでした。 おそらくこれはオーディオ録音です。



All Articles