1 Punkte von GN⁺ 2025-06-25 | 1 Kommentare | Auf WhatsApp teilen
  • Vorstellung der Erfahrung, bei der bei der Analyse der Power Mac G3 ROM zufällig ein ungewöhnliches Easter Egg entdeckt wurde
  • Dass im Ressourcen-Typ HPOE ein Entwicklerfoto verborgen ist, war bereits bekannt, doch wie es tatsächlich angezeigt werden kann, blieb bislang ein Rätsel
  • Der Text "secret ROM image" taucht im Code des SCSI Manager auf und liefert einen entscheidenden Hinweis
  • Formatiert man eine RAM-Disk mit einem bestimmten Namen, wird die Datei "The Team" erzeugt, die das verborgene Bild sichtbar macht
  • Diese Methode funktioniert bis Mac OS 9.0.4, und diese Entdeckung scheint die erste Veröffentlichung dieses Easter Eggs zu sein

Hintergrund zur Entdeckung des Easter Eggs in der Power Mac G3 ROM

  • Bei der jüngsten Analyse der ROM eines Power Macintosh G3 wurde ein bislang nicht offiziell dokumentiertes Easter Egg entdeckt
  • Für die Analyse wurden Hex Fiend und ROM Fiend, Eric Harmons Mac-ROM-Template, verwendet
  • Betroffen ist die ROM der von 1997 bis 1999 verwendeten beigefarbenen Desktop-, Minitower- und All-in-One-G3-Modelle
  • Selbst der Entwickler zeigte sich beeindruckt, dass der G3 bereits über 27 Jahre alt ist

Zusammenfassung der interessanten Funde in der ROM

  • Als Erstes fiel ein JPEG-Bild in der HPOE-Typ-Ressource auf, bei dem es sich vermutlich um ein Gruppenfoto der an der Entwicklung dieses Modells beteiligten Personen handelt
  • Dieses Bild war bereits früher erwähnt worden, doch wie man es tatsächlich anzeigt, war nicht bekannt
  • Zweitens wurde in nitt-Ressource ID 43 (Native 4.3) eine interessante Pascal-Zeichenkette gefunden: ".Edisk", "secret ROM image", "The Team"
  • Es wurde vermutet, dass "secret ROM image" mit dem Easter Egg des DOS Mac zusammenhängt, doch die bisher bekannte Methode funktioniert auf dem G3 nicht

Codeanalyse und Herleitung der Methode

  • Deshalb wurde entschieden, den Code zu disassemblieren und die komplette nitt43-Datei in Ghidra zu analysieren
  • Obwohl PowerPC-Assembler nicht vertraut war, ließ sich der Code dank des Dekompilierers von Ghidra in gut lesbare Form umwandeln
  • Es zeigte sich, dass die zentrale Funktion mit dem .EDisk-Treiber (RAM-Disk) interagiert
  • Wenn ein Volume mit dem Namen "secret ROM image" erkannt wird (= RAM-Disk), schreibt es die JPEG-Daten aus HPOE-Ressource ID 1 in eine Datei namens "The Team"

So wird das Easter Egg tatsächlich ausgelöst

  • Die Analyse ergab, dass das Easter Egg ausgelöst wird, wenn eine RAM-Disk mit dem Namen "secret ROM image" formatiert wird
  • Diese Methode lässt sich in Online-Emulatoren wie dem Infinite-Mac-Projekt überprüfen
  • Konkrete Schritte:
    • Im Kontrollfeld „Speicher“ die RAM-Disk aktivieren
    • Im Menü „Special“ die Option „Restart“ wählen
    • Nach der Rückkehr zum Desktop das RAM-Disk-Symbol auswählen
    • Im Menü „Special“ die Option „Erase Disk“ wählen
    • Den Namen exakt als "secret ROM image" eingeben und auf „Erase“ klicken
    • Öffnet man danach die formatierte RAM-Disk, wird die Datei "The Team" erzeugt
  • Die Datei kann mit SimpleText oder ähnlichen Programmen geöffnet werden, um das enthaltene Bild anzusehen

Bedeutung des Easter Eggs und Abschluss

  • Getestet wurde, dass diese Methode bis einschließlich Mac OS 9.0.4 korrekt funktioniert
  • Dass sich dieses Bild in der ROM befindet, war bislang bekannt, doch die tatsächliche Auslösemethode wurde nun erstmals vollständig aufgeklärt
  • Es handelt sich wahrscheinlich um eines der letzten Easter Eggs, die offiziell verboten wurden, nachdem Steve Jobs 1997 zu Apple zurückgekehrt war
  • Dank verschiedener Tests und Hinweise wurde diese verborgene Funktion ans Licht gebracht, was sowohl für die Analyse alter Mac-Hardware und -Software als auch für die historische technische Spurensuche von großer Bedeutung ist

Abschluss

  • Dies ist ein Fall, in dem durch die einfache Methode, eine RAM-Disk unter einem bestimmten Namen neu zu formatieren, ein inoffizielles Erinnerungsbild des Entwicklerteams sichtbar wurde, das 27 Jahre lang verborgen blieb
  • Für Leser, die sich für Easter-Egg-Techniken, Apples Entwicklungskultur und Spuren verborgener Entwickler interessieren, ist dies ein besonders spannendes Beispiel

1 Kommentare

 
GN⁺ 2025-06-25
Hacker-News-Kommentare
  • Ich finde, solche Easter Eggs vermitteln stark das Flair der frühen Desktop-PC-Ära; dadurch spürt man viel deutlicher, dass die Software tatsächlich von Menschen gemacht wurde. Es weckt Erinnerungen an eine Zeit, in der viele Produkte noch von kleinen Gruppen leidenschaftlicher Entwickler geschaffen wurden. Heute habe ich manchmal das Gefühl, dass Product People das Image eines Produkts komplett kontrollieren wollen, sodass es absichtlich geradezu unheimlich unmenschlich wirkt. Wenn ich mir vorstelle, dass in meinem heutigen iPhone ein Easter Egg steckte und bei jeder Aktivierung zufällig Fotos oder Namen einiger Beteiligter aus der Entwicklung anzeigen würde, fände ich das großartig. Aber vermutlich würde das nicht den Maßstäben der Product People entsprechen.
    • Ich frage mich, ob es vor der Einführung von Agile mehr solcher Easter Eggs gab. Bei deadlinebasierter Entwicklung kommt es oft vor, dass Teile des Teams warten müssen, und auch das Backlog hat Grenzen. In solchen Lücken entstanden dann wohl kleine „Motivation“ und „Gelegenheit“, wodurch mehr solcher Easter Eggs eingebaut wurden.
    • Die Kritik an den Product People wirkt etwas überzogen. Früher wurde so etwas von ein paar Leuten gebaut, heute hängen an einem Projekt Tausende mit drin. In großer Software wäre ein Easter Egg, das nur die Namen einiger Entwickler zeigt, kaum noch sinnvoll.
  • Ich habe früher mit einem Kollegen gearbeitet, der bei Apple ASICs und Boards entworfen hat. Er erzählte einmal etwas enttäuscht, dass das Hardware-Team sich enorm ins Zeug legte, um Systemhardware zu entwickeln und zu debuggen, während das Software-Team ROM-Speicher verschwendete, um Bilder zur Selbstbeweihräucherung mit Teamvorstellung einzubauen, und das Hardware-Team dabei komplett ignoriert wurde.
  • Ich finde es großartig, wenn sichtbar wird, dass hinter einem Unternehmen echte Menschen stehen. Sehr reiche Leute beanspruchen oft den Ruhm für sich und sagen „Das habe ich gemacht“, aber die ganz normalen Menschen, die die eigentliche Arbeit leisten, hinterlassen am Rand der Geschichte Spuren davon, dass „ein Stück ihrer Seele darin steckt“. Allerdings hätte Steve Jobs solche Easter Eggs vielleicht verboten.
    • Ich bin persönlich kein Jobs-Fan, aber ihn zu schlicht als Bösewicht zu sehen, ist auch unfair. In dieser Hinsicht war Jobs historisch gesehen eher selbst treibende Kraft, siehe Apples Signing Party. Microsoft hatte übrigens schon seit den frühen 2000ern eine „no easter eggs“-Politik. Das war also nicht nur eine Eigenheit von Jobs.
    • Als Jobs in der Krisenzeit zu Apple zurückkam, wusste er vermutlich nicht einmal von irgendwelchen versteckten, obskuren ROM-Bildern. Wahrscheinlich hat eher ein gewöhnlicher Ingenieur sie bei einer Aufräumaktion entfernt. Jobs lobte im Gegenteil oft Apples großartige Teams und ihre Kreativität und sprach mehrfach darüber, wie wichtig gutes Teambuilding ist.
    • Ich glaube zwar auch, dass Profit letztlich darin besteht, Arbeit zu stehlen, die nicht als Lohn ausgezahlt wurde, aber bei Gehältern auf Meta-Niveau muss ich an die berühmte Zeile aus dem alten Mad Men denken, wenn jemand persönliche Anerkennung will: „Dafür werden Sie doch bezahlt.“
  • Das erinnert mich an die berühmte Nachricht des Amiga-Teams: „We made the Amiga, they f----d it up!“ passender Link
  • Ich finde diese kleinen Teams aus der frühen Computerzeit immer faszinierend. Ich wünschte, wir könnten irgendwann wieder dorthin zurück.
  • Ich erinnere mich, wie ich in den 90ern in der Bibliothek MacWorld gelesen habe und dort einen Trick fand, mit ein paar Klicks und Tastenanschlägen irgendetwas Prozessorbezogenes freizuschalten. Ich weiß nicht mehr genau, was es war, aber es hatte mit dem 33-MHz-Prozessor des Apple IIci zu tun.
    • Meine schönste Erinnerung ist persönlich, dass sich unter System 7.5 ein Breakout-Spiel öffnete, in dem die Namen der Dev-Team-Mitglieder als „Backsteine“ erschienen, wenn man einen Textausschnitt mit „secret about box“ auf den Desktop zog. Wirklich herrliche Zeiten.
  • Ich habe auf dem iPad einmal mit der Playground-App ein paar Zeilen Code geschrieben und so ein Easter Egg gefunden, das das nächste Logo aus dem ROM lud. Damals habe ich das nachgemacht, aber danach nie wieder irgendeine Referenz dazu gefunden. Das ist ungefähr sechs Jahre her.
  • Ich vermisse Easter Eggs sehr. Es wäre schön, wenn sie wieder zurückkämen.
    • Stimme zu. Heute gibt es sie nur noch vereinzelt in kleinen Projekten, aber ich wünschte, sie würden auch in großen Projekten wieder auftauchen. Als Kind reichte schon das Gerücht, dass ein Produkt Easter Eggs enthält, damit ich mich viel länger damit beschäftigte. Heutzutage wirken sogar die Easter Eggs in Android langweilig, und selbst wenn man sie im Entwicklermodus freischaltet, ist die Begeisterung eher gering.
    • In unserem Teamprojekt steckt ein kleines Easter Egg in FILE_ID.DIZ Link
  • Beeindruckend finde ich, dass dieser Easter-Egg-Mechanismus so lange von niemandem entdeckt wurde. Das zeigt, wie schwer Reverse Engineering wirklich ist. Wenn man damit anfangen möchte: Wo sollte man am besten einsteigen? Gibt es Online-Tutorials oder Buchempfehlungen?
    • Videospiele, besonders alte Konsolen wie das NES, sind ein guter Einstieg. Wenn man es ausprobiert, sieht man schnell Ergebnisse, was die Motivation hochhält, und es gibt viele passende Tools. Man kann zum Beispiel ein NES-Spiel in Mesen zusammen mit den Debugging-Tools starten und dann auf nesdev.org nachschauen. Wenn ein Spiel schon reverse-engineert wurde, findet man zusätzliche Infos auch auf Data Crystal. Moderne Software ist schwieriger, aber ich habe früher einmal über das Hacken von Gamecube-Spielen geschrieben: Super Monkey Ball hacking part 1 part 2, decompilation with ghidra siehe auch die HN-Diskussion
  • Schade, das wäre ein perfektes Thema für Stump the Experts gewesen, diese Apple-bezogene Quizshow.