Découverte d’un easter egg vieux de 27 ans dans la ROM du Power Mac G3
(downtowndougbrown.com)- Les ROM des Power Macintosh G3 beiges de 1997 à 1999 contenaient une photo d’équipe cachée, mais la méthode pour l’afficher sur une vraie machine est restée inconnue jusqu’en 2025
- L’indice décisif venait de chaînes Pascal comme
.Edisk,secret ROM imageetThe Teamà la fin de la resourcenittID 43 « Native 4.3 » ; cette resource contenait le code PowerPC-native du SCSI Manager 4.3 - La rétro-ingénierie de l’exécutable PEF avec
Ghidraa confirmé un flux qui écrit le JPEG de la resourceHPOEID 1 dans un fichierThe Teamlorsque le nom du volume RAM Disk estsecret ROM image - L’activation consiste à activer le RAM Disk, redémarrer, puis saisir exactement
secret ROM imagedans la boîte de dialogue de formatage au moment d’effacer le RAM Disk ; la procédure a été reproduite dans un émulateur et sur un vrai G3 de bureau - D’après plusieurs tests, cette méthode semble fonctionner jusqu’à Mac OS 9.0.4, et 9.1 pourrait être la première version où elle ne fonctionne plus
Une photo d’équipe cachée restée dans la ROM
- En explorant la ROM du Power Macintosh G3, une méthode d’activation d’easter egg qui n’avait pas encore été documentée a été mise au jour
- La ROM visée était utilisée dans les modèles G3 beiges de bureau, minitour et tout-en-un commercialisés entre 1997 et 1999
- L’exploration de la ROM a été faite avec Hex Fiend et ROM Fiend, le template Mac ROM d’Eric Harmon
- Dans la ROM, une resource de type
HPOEcontenait une photo JPEG de plusieurs personnes qui semblent avoir travaillé sur ce modèle de Mac - L’existence de cette photo n’est pas une découverte en soi : Pierre Dandumont en avait déjà parlé en 2014
- À l’époque, la méthode permettant d’afficher cette image sur une vraie machine n’avait pas été identifiée
- Certains Mac plus anciens disposaient d’une combinaison de touches secrète pour afficher des photos similaires, mais la manière d’afficher celle de la ROM du G3 restait mystérieuse
La resource SCSI Manager 4.3 qui a servi d’indice
- En poursuivant l’exploration, la resource
nittID 43, nommée « Native 4.3 », a été découverte - Grâce aux recherches de Keith Kaisershot sur la Pippin, il a rapidement été possible d’établir que cette resource était le code PowerPC-native du SCSI Manager 4.3
- La fin de la resource contenait des chaînes Pascal susceptibles d’être liées à un easter egg
.Edisksecret ROM imageThe Team
- En particulier,
secret ROM imagesemblait très probablement lié à l’image cachée découverte plus tôt - Une recherche sur Internet a montré que la même expression était aussi utilisée dans un easter egg d’anciens Mac PowerPC
- Sur ces anciennes machines, il fallait saisir puis sélectionner cette expression et la faire glisser sur le bureau pour faire apparaître la photo
- Mais la même méthode ne fonctionnait pas sur le G3
Le flux réel du code confirmé avec Ghidra
- Après extraction complète de la resource
nittID 43 dans un fichier, celle-ci a été reconnue comme unPowerPC PEF executable - Les 12 premiers octets du fichier étaient
Joy!peffpwpc, et Ghidra l’a directement chargé comme fichier PEF - Lors de la première analyse, les références à la chaîne
secret ROM imagen’ont pas été correctement détectées, mais une nouvelle exécution d’Auto Analyze a permis de découvrir des références supplémentaires aux chaînes pertinentes - La fonction concernée effectuait des opérations liées au driver
.EDisk, c’est-à-dire au driver de RAM Disk - Le comportement central issu de la décompilation était le suivant
- Recherche d’un driver nommé
.Edisk - Recherche du disque associé à ce driver, autrement dit le RAM Disk
- Recherche du volume associé à ce disque
- Si le nom du volume est
secret ROM image:- Chargement de la resource
HPOEID 1 afin de récupérer les données de l’image JPEG - Création d’un fichier
The Teamdont le creator estttxtet le typeJPEG - Ouverture du fichier, écriture des données JPEG, puis fermeture
- Exécution ensuite d’opérations supplémentaires liées à la control entry du driver
- Chargement de la resource
- Recherche d’un driver nommé
- Cette fonction n’était appelée qu’à un seul autre endroit, et le point d’appel vérifiait si le premier argument valait
0x3DA(986 en décimal)
Activation par formatage du RAM Disk
- N’ayant pas de G3 beige réel sous la main, la découverte a été partagée sur le canal
#mac68kde Libera, et^alexa découvert grâce à une expérimentation avec Infinite Mac que le processus d’effacement du RAM Disk était nécessaire - La même méthode a ensuite fonctionné sur un vrai G3 de bureau
- Dans un navigateur, on peut reproduire la procédure en lançant un G3 beige émulé avec Mac OS 8.1 installé
- L’émulation utilise DingusPPC
- Une particularité est qu’une erreur d’échec de résolution d’alias apparaît au démarrage ; si l’erreur s’affiche, il suffit de cliquer sur Stop
- La procédure de reproduction est la suivante
- Activer le RAM Disk dans le tableau de bord Memory
- Choisir Restart dans le menu Special
- Lorsque le bureau réapparaît, sélectionner l’icône du RAM Disk
- Choisir Erase Disk dans le menu Special
- Dans la boîte de dialogue de formatage, saisir exactement
secret ROM image - Cliquer sur Erase
- En ouvrant le RAM Disk fraîchement formaté, un fichier nommé
The Teamapparaît - Un double-clic sur ce fichier ouvre SimpleText
L’un des derniers easter eggs restés jusqu’à Mac OS 9.0.4
- D’après les tests de plusieurs personnes et des tests directs, cette méthode semble fonctionner jusqu’à Mac OS 9.0.4
- Mac OS 9.1 pourrait être la première version où cette méthode ne fonctionne plus
- À ce stade, dans la limite de ce qui a pu être vérifié, ce secret semble nouvellement découvert
- Le fait que l’image soit présente dans la ROM était déjà connu
- La manière de l’activer réellement n’était pas documentée
- Cet easter egg pourrait faire partie des derniers easter eggs intégrés à un Mac avant les informations selon lesquelles Steve Jobs aurait interdit les easter eggs après son retour chez Apple en 1997
- Si
^alexn’avait pas trouvé la condition d’activation consistant à effacer le RAM Disk, il aurait probablement fallu continuer à remonter le reste du code
1 commentaires
Commentaires sur Hacker News
Ce genre d’easter eggs évoque fortement, dans l’ensemble, l’esprit de la première époque des PC de bureau
C’était un élément très humain, qui rappelait que les produits étaient fabriqués par des personnes avec des visages et des noms
À l’époque, c’étaient des projets construits avec passion par des nerds hardcore, alors qu’aujourd’hui l’ambiance pousse plutôt à empêcher qu’on voie au-delà des couches d’abstraction du produit
Les responsables produit semblent vouloir contrôler l’image globale du produit, et quand la liste des noms est trop longue ou qu’il existe un risque que l’un d’eux pose problème plus tard, il paraît plus sûr de déshumaniser l’ensemble
Aujourd’hui, on pourrait imaginer un super easter egg où l’iPhone afficherait aléatoirement, à chaque activation, quelques personnes ayant participé à son développement ; personnellement j’adorerais, mais ça heurterait sans doute le goût raffiné des responsables produit
Dans un développement rythmé par les échéances, il arrive qu’une partie de l’équipe attende qu’une autre termine quelque chose pour franchir un jalon, et on ne peut pas non plus fouiller indéfiniment dans le backlog
Quand l’ennui rencontre la rationalisation du type « glisser un petit truc en douce n’affectera pas la roadmap », il y a beaucoup plus de motivation et d’occasions
C’est d’autant plus vrai maintenant que les logiciels sont devenus aussi complexes et volumineux, et je ne sais même pas si on a encore le temps, en entreprise, de créer des trucs amusants
J’ai toujours l’impression de travailler à 120 %
Les anciens logiciels étaient créés par de petits groupes, alors qu’aujourd’hui des milliers de personnes interviennent au sein d’une même organisation
Qu’on trouve ça bien ou non, c’est la réalité, et dans les grands projets logiciels actuels, un easter egg qui ne mettrait en avant que quelques personnes n’aurait pas beaucoup de sens
C’est assez chouette, et ça montre qu’il y a de vraies personnes derrière les entreprises
Quelques gens bien placés peuvent dire « c’est moi qui l’ai fait » et s’approprier la réussite des petites mains
À l’inverse, les véritables petites mains laissent une trace dans l’histoire pour dire « non, c’est nous qui y avons mis notre âme pour que cela existe »
Cela dit, Steve Jobs l’aurait probablement interdit
Sur ce sujet précis, il était même plutôt à l’origine de ce genre de pratique : https://www.folklore.org/Signing_Party.html
Donc ce n’est pas vraiment quelque chose qu’on peut affirmer « évidemment », et ce n’était pas non plus propre à Jobs, puisque Microsoft avait aussi une politique anti-easter eggs dès le début des années 2000
Il est plus plausible que l’une de ces « vraies personnes » l’ait supprimée au cours d’un travail de nettoyage
Jobs parlait souvent en public des gens extraordinaires qui travaillaient chez Apple, et il expliquait aussi à Walt Mossberg combien il était important de constituer d’excellentes équipes et de favoriser la créativité
« C’est précisément pour ça qu’on te paie ! »
J’ai déjà travaillé avec quelqu’un qui faisait de la conception d’ASIC et de cartes chez Apple des années 80 jusqu’au milieu des années 90
Un jour, il s’est mis en colère parce que l’équipe matérielle avait versé sang et eau dans la conception et le débogage du système, mais que l’équipe logicielle avait utilisé environ 50 Ko de l’image ROM pour glorifier l’équipe ayant conçu l’ordinateur, tout en oubliant complètement l’équipe matériel
Cela me rappelle le message « We made the Amiga, they f----d it up! »
https://arstechnica.com/gadgets/2007/12/amiga-history-part-5...
Les easter eggs me manquent vraiment
J’aimerais qu’ils reviennent
On en voit peut-être encore dans de petits projets aujourd’hui, mais j’aimerais aussi en voir dans des réalisations de plus grande ampleur
Quand j’étais enfant, découvrir un easter egg dans un produit, ou même simplement apprendre son existence, me donnait envie d’utiliser davantage ce produit, ne serait-ce que pour le trouver
C’est dommage que ces petites joies cachées ne soient plus aussi populaires qu’avant, et c’est triste que même les versions récentes d’Android se contentent d’« easter eggs » fades, avec des interactions si pauvres qu’elles en deviennent décevantes pour des utilisateurs qui doivent déjà activer les fonctions développeur
https://raw.githubusercontent.com/tirrenotechnologies/tirren...
Quelqu’un avait déjà partagé un easter egg permettant, via un petit bout de code écrit dans l’app Playground sur iPad, d’afficher quelque chose comme le logo suivant de la ROM
À l’époque, j’avais réussi à le reproduire, mais je n’ai jamais réussi à retrouver les informations ensuite
C’était il y a environ six ans
Impressionnant
C’est fascinant qu’il ait fallu si longtemps avant que quelqu’un découvre le mécanisme de déclenchement de cet easter egg
La rétro-ingénierie est difficile
Je me demande maintenant où l’on peut apprendre la rétro-ingénierie
Je me demande par où commencer, et s’il existe des tutoriels en ligne ou des livres à recommander
On voit immédiatement le résultat de ses expérimentations et le matériel est simple
En revanche, l’“API” matérielle peut sembler assez peu intuitive pour un développeur moderne
Il existe déjà beaucoup d’outils pour le hacking et la rétro-ingénierie, donc il suffit de charger un jeu NES que vous aimez dans Mesen, d’ouvrir nesdev.org dans le navigateur et de commencer à manipuler les outils de débogage
Si quelqu’un a déjà rétro-conçu le jeu sur lequel vous travaillez, vous pourrez aussi trouver des informations utiles sur https://datacrystal.tcrf.net
Faire de la rétro-ingénierie sur des logiciels plus modernes est plus délicat
J’ai aussi écrit autrefois deux billets sur le hacking de jeux Gamecube, qui peuvent être intéressants : https://www.smokingonabike.com/2021/01/17/hacking-super-monk..., https://www.smokingonabike.com/2021/02/28/hacking-super-monk...
Discussion HN associée : https://news.ycombinator.com/item?id=26315368
Très souvent, c’est simplement que quelqu’un a tenté de fouiller le code pour la première fois
C’est encore plus vrai depuis que la décompilation est devenue bien plus facile, même sur des architectures moins populaires, notamment grâce à Ghidra
Vous devriez essayer, il y a pas mal de fruits à portée de main
J’avais d’ailleurs déjà soumis un cas similaire
Heureusement, contrairement à d’autres easter eggs de systèmes d’exploitation, il ne semble pas y avoir eu d’obfuscation du genre “un XOR en chaîne stocké dans une ressource bitmap d’un format d’exécutable mal pris en charge” : https://x.com/mswin_bat/status/1504788425525719043
Les gens ont souvent tendance à trop idolâtrer Steve Jobs, mais je ne sais pas
Personnellement, j’aime aussi beaucoup l’époque où le Mac errait dans le désert
À lire ce genre de choses, j’ai l’impression que, même si le retour de Jobs a globalement été bénéfique, la culture et l’identité d’Apple y ont perdu quelque chose
Sculley, Spindler et Amelio n’étaient pas les meilleurs dirigeants, et Apple a été profondément secouée par Pink/Taligent, Copland, le PowerBook 5300 et les échecs matériels des séries Performa 5200/6200/5300/6300
1995, en particulier, a été une année désastreuse pour Apple
Malgré tout, cette période avait beaucoup de choses formidables
Jean Louis Gassée s’est battu pour un Mac extensible, et son influence a conduit au Macintosh II, lançant une longue lignée de Mac extensibles qui ne s’est interrompue qu’avec le Mac Pro “corbeille” de 2013
System 7 n’était pas le système d’exploitation le plus stable, mais son interface était excellente
Don Norman et Bruce Tognazzini ont défendu des principes et des lignes directrices UI/UX solides, et HyperCard est aussi un produit de cette époque
L’Advanced Technology Group d’Apple, où l’on trouvait Larry Tesler, Alan Kay et d’autres, a mené des projets intéressants comme le langage de programmation Dylan et l’environnement SK8
OpenDoc était aussi une tentative intéressante de créer une plateforme logicielle à base de composants
Le Mac OS classique avait aussi un côté chaleureux et espiègle qui s’est perdu avec le passage à Mac OS X
Bien sûr, je suis très reconnaissant envers Mac OS X
J’aime autant l’Apple de l’“interrègne” que l’Apple de 1997 à 2011 après le retour de Jobs, mais j’aime moins l’Apple de Tim Cook
C’est à partir de là que j’ai eu le sentiment qu’Apple avait profondément changé à la racine
Apple n’a jamais eu autant de succès financier de son histoire, mais le Mac n’a plus du tout l’allure qu’il avait dans les années 1990 ou 2000
Apple est passée d’une entreprise du Mac à une entreprise de l’iPhone
Ça aurait été un sujet parfait pour Stump the Experts, mais tant pis
J’ai toujours été fasciné par la petite taille des équipes au début de l’informatique, et j’aimerais pouvoir revenir à cette époque d’une manière ou d’une autre