1 Punkte von GN⁺ 2025-06-25 | 1 Kommentare | Auf WhatsApp teilen
  • Im ROM der beigen Power Macintosh G3 von 1997 bis 1999 war ein verstecktes Teamfoto enthalten, aber wie man es auf echter Hardware anzeigt, blieb bis 2025 unbekannt
  • Der entscheidende Hinweis kam von Pascal-Strings wie .Edisk, secret ROM image und The Team am Ende von nitt resource ID 43 „Native 4.3“; diese Ressource war nativer PowerPC-SCSI-Manager-4.3-Code
  • Durch Reverse Engineering der PEF-Datei mit Ghidra ließ sich bestätigen, dass bei dem RAM-Disk-Volume-Namen secret ROM image das JPEG aus HPOE resource ID 1 als Datei The Team geschrieben wird
  • Die Aktivierung erfolgt, indem man die RAM Disk einschaltet, neu startet und dann beim Löschen der RAM Disk im Formatierungsdialog exakt secret ROM image eingibt; das ließ sich im Emulator und auf einem echten Desktop-G3 reproduzieren
  • Nach verschiedenen Tests scheint die Methode bis Mac OS 9.0.4 zu funktionieren; 9.1 könnte die erste Version sein, in der sie nicht mehr funktioniert

Verstecktes Teamfoto im ROM

  • Bei der Untersuchung des Power Macintosh G3 ROMs wurde eine bislang undokumentierte Aktivierungsmethode für das Easter Egg sichtbar
  • Das betroffene ROM wurde in den 1997 bis 1999 veröffentlichten beigen Desktop-, Minitower- und All-in-One-G3-Modellen verwendet
  • Für die ROM-Analyse kamen Hex Fiend und Eric Harmons Mac-ROM-Template ROM Fiend zum Einsatz
  • In Ressourcen vom Typ HPOE im ROM befanden sich JPEG-Fotos mehrerer Personen, offenbar Mitglieder des Teams hinter diesen Mac-Modellen
  • Die Existenz der Bilder selbst ist keine neue Entdeckung; Pierre Dandumont hatte sie bereits 2014 behandelt
    • Damals war noch nicht geklärt, wie sich diese Bilder auf echter Hardware anzeigen lassen
    • Bei einigen älteren Macs gab es geheime Tastenkombinationen für ähnliche Fotos, aber wie die Bilder im G3-ROM angezeigt werden, blieb ein Rätsel

Die SCSI-Manager-4.3-Ressource als Hinweis

  • Bei weiterer Analyse wurde nitt resource ID 43 mit dem Namen „Native 4.3“ gefunden
  • Dank Keith Kaisershots Pippin-Forschung ließ sich schnell erkennen, dass es sich dabei um nativen PowerPC-SCSI-Manager-4.3-Code handelte
  • Am Ende der Ressource standen Pascal-Strings, die mit dem Easter Egg zusammenhängen konnten
    • .Edisk
    • secret ROM image
    • The Team
  • Besonders secret ROM image deutete stark auf einen Zusammenhang mit den zuvor gefundenen versteckten Fotos hin
  • Eine Websuche ergab, dass derselbe Ausdruck auch in einem Easter Egg früherer PowerPC-Macs verwendet wurde
    • Auf älteren Geräten erschien das Foto, wenn man den Ausdruck eingab, auswählte und dann auf den Desktop zog
    • Auf dem G3 funktionierte dieselbe Methode jedoch nicht

Der tatsächliche Codepfad in Ghidra

  • Nachdem nitt resource ID 43 vollständig als Datei extrahiert worden war, wurde sie als PowerPC PEF executable erkannt
  • Die ersten 12 Bytes der Datei lauteten Joy!peffpwpc, und Ghidra lud sie direkt als PEF-Datei
  • Bei der ersten Analyse wurden Referenzen auf den String secret ROM image nicht korrekt erkannt, aber nach einem weiteren Auto Analyze fand das Tool zusätzliche Referenzen auf die relevanten Strings
  • Die betreffende Funktion hatte mit dem .EDisk-Treiber zu tun, also dem RAM-Disk-Treiber
  • Das Wesentliche des dekompilierten Verhaltens war wie folgt
    • Suche nach einem Treiber namens .Edisk
    • Suche nach der an diesen Treiber gebundenen Disk, also der RAM Disk
    • Suche nach dem zugehörigen Volume dieser Disk
    • Wenn der Volume-Name secret ROM image ist:
      • Lade HPOE resource ID 1 und hole die JPEG-Bilddaten
      • Erzeuge die Datei The Team mit Creator ttxt und Typ JPEG
      • Öffne die Datei, schreibe die JPEG-Daten hinein und schließe sie wieder
      • Führe anschließend weitere Aktionen im Zusammenhang mit dem Control-Entry des Treibers aus
  • Diese Funktion wurde nur an einer weiteren Stelle aufgerufen, und dort wurde geprüft, ob das erste Argument 0x3DA (dezimal 986) ist

Aktivierung über das Formatieren der RAM Disk

  • Da gerade kein echter beiger G3 zur Hand war, wurden die Funde im #mac68k-Kanal von Libera geteilt, und ^alex fand mithilfe von Experimenten in Infinite Mac heraus, dass der Vorgang zum Löschen der RAM Disk nötig ist
  • Danach funktionierte dieselbe Methode auch auf echter Desktop-G3-Hardware
  • Im Browser lässt sich das mit einem emulierten beigen G3 mit installiertem Mac OS 8.1 reproduzieren
    • Verwendet wird DingusPPC
    • Beim Start erscheint auffällig ein Fehler zur fehlgeschlagenen Alias-Auflösung; wenn er auftaucht, kann man einfach auf Stop klicken
  • Die Reproduktionsschritte sind wie folgt
    • Im Kontrollfeld „Memory“ die RAM Disk aktivieren
    • Im Menü „Special“ „Restart“ wählen
    • Wenn der Desktop wieder erscheint, das RAM-Disk-Symbol auswählen
    • Im Menü „Special“ „Erase Disk“ wählen
    • Im Formatierungsdialog exakt secret ROM image eingeben
    • Auf „Erase“ klicken
  • Öffnet man die neu formatierte RAM Disk, erscheint eine Datei namens The Team
  • Ein Doppelklick auf diese Datei öffnet SimpleText

Eines der letzten Easter Eggs einer ganzen Ära, bis Mac OS 9.0.4

  • Nach Tests mehrerer Personen sowie eigenen Tests scheint diese Methode bis Mac OS 9.0.4 zu funktionieren
  • Mac OS 9.1 könnte die erste Version sein, in der sie nicht mehr funktioniert
  • Soweit derzeit nachvollziehbar, scheint dieses Geheimnis tatsächlich neu aufgedeckt worden zu sein
    • Dass sich Bilder im ROM befinden, war bereits bekannt
    • Wie man sie tatsächlich aktiviert, war jedoch nicht dokumentiert
  • Dieses Easter Egg könnte zu den letzten seiner Art in Macs gehören, die noch vor den Berichten eingebaut wurden, dass Steve Jobs nach seiner Rückkehr zu Apple 1997 Easter Eggs verboten habe
  • Hätte ^alex nicht die Aktivierungsbedingung mit dem Löschen der RAM Disk gefunden, wäre vermutlich deutlich mehr Nachverfolgung des restlichen Codes nötig gewesen

1 Kommentare

 
GN⁺ 2025-06-25
Meinungen auf Hacker News
  • Solche Easter Eggs vermitteln insgesamt sehr stark die Atmosphäre der frühen Desktop-PC-Ära.
    Sie waren ein sehr menschliches Element, das einen daran erinnerte, dass hinter dem Produkt Menschen mit Gesichtern und Namen standen.
    Damals waren das Projekte, die von Hardcore-Nerds mit Leidenschaft gebaut wurden; heute ist die Stimmung eher so, dass man möglichst nicht hinter die Abstraktionsschichten eines Produkts blicken soll.
    Produktverantwortliche wollen das Gesamtbild eines Produkts kontrollieren, und wenn man bedenkt, dass die Namensliste zu groß sein könnte oder später jemand darauf problematisch werden könnte, scheint Entmenschlichung die sicherere Variante zu sein.
    Heute könnte ich mir ein cooles Easter Egg vorstellen, bei dem ein iPhone bei jeder Aktivierung zufällig ein paar an der Entwicklung beteiligte Personen zeigt. Ich persönlich fände das gut, aber es würde wohl dem gehobenen Geschmack der Produktverantwortlichen zuwiderlaufen.

    • Ich frage mich, ob es vor Agile mehr von so etwas gab.
      Bei deadlinegetriebener Entwicklung entstehen Situationen, in denen ein Teil des Teams darauf wartet, dass andere Teammitglieder etwas fertigstellen, um einen Meilenstein zu erreichen, und nur am Backlog herumzuwühlen hat auch seine Grenzen.
      Wenn Langeweile auf die Rechtfertigung trifft: „Ein kleines heimliches Extra wird die Roadmap schon nicht beeinflussen“, gibt es viel mehr Motivation und Gelegenheit.
    • Aus der Perspektive von jemandem, der schon Easter Eggs in eigene Arbeit eingebaut hat: Das größte Problem ist, dass ich nicht den Mut habe, wegen einer Funktion ohne Wert über einen Scherz hinaus einen potenziellen Ausfallpunkt in Software einzubauen.
      Das gilt besonders heute, wo Software so komplex und groß geworden ist; außerdem weiß ich nicht, ob man in Unternehmen überhaupt Zeit hat, etwas Lustiges zu bauen.
      Es fühlt sich immer an, als würde man mit 120 % arbeiten.
    • Man sollte vorsichtig sein: Vielleicht erscheint auf neuen Macs bei einer speziellen Tastenkombination ein bildschirmfüllendes Ganzkörperporträt von Craig Federighi mit üppiger Brustbehaarung, samt 5-GB-Download, mit dem man den Brustbereich „unendlich“ heranzoomen kann.
    • Ich weiß nicht, welche seltsame Abneigung du gegen Produktverantwortliche hast, aber das hat mit Produktmanagement überhaupt nichts zu tun.
      Früher wurde Software von wenigen Leuten gebaut, heute sind in einer Organisation Tausende daran beteiligt.
      Ob gut oder schlecht, das ist die Realität, und bei heutigen großen Softwareprojekten ergibt ein Easter Egg, das nur ein paar Personen hervorhebt, nicht besonders viel Sinn.
  • Ziemlich schön, und es zeigt, dass hinter Unternehmen echte Menschen stehen.
    Einige Reiche sagen gern „Ich habe das gebaut“ und eignen sich damit die Leistungen der kleinen Leute an.
    Die tatsächlichen kleinen Leute hingegen hinterlassen in der Geschichte Spuren nach dem Motto: „Nein, wir waren es, die ihre Seele hineingesteckt haben, um das zu schaffen.“
    Natürlich hätte Steve Jobs das wohl verboten.

    • Ich bin kein großer Jobs-Fan, aber ich denke, er war eine deutlich komplexere Figur als das manchmal karikierte Bösewicht-Bild.
      Zu diesem Thema war er eher so etwas wie ein früher Ursprung dieser Entwicklung: https://www.folklore.org/Signing_Party.html
      Daher ist „natürlich“ hier nicht angebracht, und Microsoft hatte ab Anfang der 2000er ebenfalls eine Easter-Egg-Verbotsrichtlinie; es war also nicht nur ein Jobs-Problem.
    • Es ist unwahrscheinlich, dass Jobs nach seiner Rückkehr zu Apple in der Krise persönlich von irgendeinem schwach erkennbaren ROM-Bild wusste, das in geheimem Assembler-Code vergraben war, geschweige denn von dessen Speicherort.
      Plausibler ist, dass eine dieser „echten Personen“ es bei Aufräumarbeiten gelöscht hat.
      Jobs sprach öffentlich oft über die erstaunlichen Menschen, die bei Apple arbeiteten, und sprach auch mit Walt Mossberg darüber, wie wichtig es sei, großartige Teams aufzubauen und Kreativität zu fördern.
    • Ich bin fest davon überzeugt, dass Profit Diebstahl unbezahlter Arbeit ist, aber bei Gehältern auf Meta-Niveau erinnert mich die Frage persönlicher Anerkennung für Arbeit an diese Szene aus Mad Men:
      „Dafür ist das Geld da!“
  • Ich habe einmal mit jemandem gearbeitet, der von den 80ern bis Mitte der 90er bei Apple ASIC- und Board-Design gemacht hatte.
    Er war einmal wütend, weil das Hardwareteam Blut, Schweiß und Tränen in Systemdesign und Debugging gesteckt hatte, während die Softwareseite etwa 50 KB des ROM-Images dafür verwendete, das Team zu feiern, das den Computer entworfen hatte, das Hardwareteam dabei aber komplett ausließ.

  • Mir fällt die Nachricht „We made the Amiga, they f----d it up!“ ein.
    https://arstechnica.com/gadgets/2007/12/amiga-history-part-5...

  • Ich vermisse Easter Eggs wirklich.
    Ich wünschte, man würde sie zurückbringen.

    • Stimme zu.
      Heutzutage sieht man sie vielleicht noch in kleinen Projekten, aber ich würde sie auch gern in größeren Arbeiten sehen.
      Als Kind habe ich, wenn ich ein Easter Egg in einem Produkt gefunden oder davon gehört habe, das Produkt allein schon deshalb mehr benutzt, um es zu finden.
      Es ist schade, dass kleine versteckte Freuden nicht mehr so beliebt sind wie früher, und traurig, dass selbst die neuesten Android-Versionen nur noch ein langweiliges „Easter Egg“ bieten, das für Nutzer, die erst die Entwicklerfunktionen öffnen müssen, enttäuschend wenig Interaktion bereithält.
    • In FILE_ID.DIZ steckt eine kleine Sache.
      https://raw.githubusercontent.com/tirrenotechnologies/tirren...
  • Früher hat einmal jemand ein Easter Egg geteilt, bei dem man auf dem iPad in der Playground-App ein kleines Stück Code schrieb und dadurch so etwas wie das nächste Logo aus dem ROM aufrief.
    Damals konnte ich es reproduzieren, habe die dazugehörigen Materialien später aber nie wiedergefunden.
    Das war ungefähr vor sechs Jahren.

  • Beeindruckend
    Ich finde es interessant, dass es so lange gedauert hat, bis jemand den Auslösemechanismus dieses Easter Eggs gefunden hat
    Reverse Engineering ist schwer
    Jetzt frage ich mich, wo man Reverse Engineering lernen kann
    Ich frage mich, wo man anfangen sollte und ob es empfehlenswerte Online-Tutorials oder Bücher gibt

    • Videospiele sind ein guter Einstieg, besonders ältere Konsolen wie das NES
      Die Ergebnisse der Experimente sieht man sofort, und die Geräte sind einfach aufgebaut
      Allerdings kann die Hardware-„API“ für moderne Programmierer ziemlich wenig intuitiv sein
      Für Hacking und Reverse Engineering gibt es bereits viele Tools; man kann also einfach sein Lieblings-NES-Spiel in Mesen laden, nesdev.org im Browser geöffnet lassen und mit den Debugging-Tools herumspielen
      Wenn das Spiel, mit dem man sich beschäftigt, schon von jemandem reverse-engineert wurde, findet man auch unter https://datacrystal.tcrf.net nützliche Informationen
      Modernere Software zu reverse-engineeren ist schwieriger
      Zwei Artikel, die ich früher über das Hacken von Gamecube-Spielen geschrieben habe, könnten ebenfalls interessant sein: https://www.smokingonabike.com/2021/01/17/hacking-super-monk..., https://www.smokingonabike.com/2021/02/28/hacking-super-monk...
      Zugehörige HN-Diskussion: https://news.ycombinator.com/item?id=26315368
    • Eine Entdeckung zu teilen ist immer großartig, aber ob wirklich 27 Jahre lang jemand aktiv danach gesucht hat, ist eine andere Frage
      Oft hat einfach nur jemand zum ersten Mal versucht, sich durch den Code zu graben
      Das gilt besonders, seit Dekompilierung dank Ghidra auch auf weniger populären Architekturen viel einfacher geworden ist
      Man sollte es einmal ausprobieren; es gibt ziemlich viele niedrig hängende Früchte
      Ich habe früher auch einmal einen ähnlichen Fall eingereicht
      Zum Glück scheint es hier, anders als bei anderen Betriebssystem-Easter-Eggs, keine Verschleierung wie „verkettetes XOR in Bitmap-Ressourcen eines schlecht unterstützten ausführbaren Dateiformats“ gegeben zu haben: https://x.com/mswin_bat/status/1504788425525719043
  • Viele Leute vergöttern Steve Jobs zu sehr, aber ich bin mir da nicht so sicher
    Persönlich mag ich auch die Zeit, in der der Mac durch die Wildnis irrte, ziemlich gern
    Wenn ich so etwas lese, habe ich das Gefühl, dass Apple mit Jobs’ Rückkehr etwas von seiner Kultur und Identität verloren hat, selbst wenn es insgesamt ein Gewinn war

    • Ich bin ein großer Fan von Steve Jobs, aber ich mag auch Apples Interregnum von 1985 bis 1996
      Sculley, Spindler und Amelio waren nicht die besten Führungskräfte, und Apple wurde von Pink/Taligent, Copland, dem PowerBook 5300 sowie Hardware-Fehlschlägen wie den Reihen Performa 5200/6200/5300/6300 stark erschüttert
      Besonders 1995 war für Apple ein katastrophales Jahr
      Trotzdem gab es in dieser Zeit viel Großartiges
      Jean-Louis Gassée kämpfte für erweiterbare Macs, und sein Einfluss führte zum Macintosh II; damit begann eine lange Linie erweiterbarer Macs, die bis zum „Mülleimer“-Mac Pro von 2013 nicht abriss
      System 7 war nicht das stabilste Betriebssystem, aber die UI war hervorragend
      Don Norman und Bruce Tognazzini trieben solide UI/UX-Prinzipien und Richtlinien voran, und auch HyperCard war ein Produkt dieser Zeit
      Apples Advanced Technology Group mit Larry Tesler, Alan Kay und anderen arbeitete an interessanten Projekten wie der Programmiersprache Dylan und der SK8-Umgebung
      Auch OpenDoc war ein interessanter Versuch, eine komponentenbasierte Softwareplattform zu schaffen
      Classic Mac OS hatte außerdem ein gemütliches, spielerisches Gefühl, das beim Übergang zu Mac OS X verschwand
      Natürlich bin ich Mac OS X sehr dankbar
      Ich mag sowohl das Apple des „Interregnums“ als auch das Apple der Jahre 1997 bis 2011 nach Jobs’ Rückkehr, aber Tim Cooks Apple mag ich weniger
      Ab diesem Zeitpunkt hatte ich das Gefühl, dass Apple sich stark von seinen Wurzeln entfernt hat
      Finanziell ist Apple so erfolgreich wie nie zuvor, aber der Mac fühlt sich nicht mehr wie in den 1990ern oder 2000ern an
      Apple ist inzwischen von einer Mac-Firma zu einer iPhone-Firma geworden
  • Das wäre perfektes Material für Stump the Experts gewesen, aber da kann man nichts machen

  • Mich fasziniert immer wieder, wie klein die Teams in der Frühzeit des Computing waren, und ich wünschte, wir könnten irgendwie in diese Zeit zurückkehren