1 points par GN⁺ 2025-06-25 | 1 commentaires | Partager sur WhatsApp
  • 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 image et The Team à la fin de la resource nitt ID 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 Ghidra a confirmé un flux qui écrit le JPEG de la resource HPOE ID 1 dans un fichier The Team lorsque le nom du volume RAM Disk est secret ROM image
  • L’activation consiste à activer le RAM Disk, redémarrer, puis saisir exactement secret ROM image dans 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 HPOE contenait 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 nitt ID 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
    • .Edisk
    • secret ROM image
    • The Team
  • En particulier, secret ROM image semblait 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 nitt ID 43 dans un fichier, celle-ci a été reconnue comme un PowerPC 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 image n’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 HPOE ID 1 afin de récupérer les données de l’image JPEG
      • Création d’un fichier The Team dont le creator est ttxt et le type JPEG
      • 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
  • 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 #mac68k de Libera, et ^alex a 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 Team apparaî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 ^alex n’avait pas trouvé la condition d’activation consistant à effacer le RAM Disk, il aurait probablement fallu continuer à remonter le reste du code

1 commentaires

 
GN⁺ 2025-06-25
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

    • Je me demande si c’était plus fréquent avant Agile
      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
    • Pour avoir déjà mis des easter eggs dans des choses que j’ai faites moi-même, le principal problème est que je n’ai pas le cran d’ajouter un point de défaillance potentiel dans un logiciel pour une fonctionnalité qui n’a pas plus de valeur qu’une blague
      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 %
    • Il faut peut-être se méfier du fait qu’un raccourci spécial sur les nouveaux Mac pourrait déclencher, en plein écran, un portrait intégral de Craig Federighi avec son abondante pilosité pectorale, accompagné d’un téléchargement de 5 Go permettant de zoomer « à l’infini » sur cette zone
    • Je ne sais pas quel étrange grief il y a contre les responsables produit, mais cela n’a absolument rien à voir avec la gestion produit
      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

    • Je ne suis pas un grand admirateur de Jobs, mais je pense qu’il était bien plus complexe que l’image de méchant caricatural qu’on lui colle parfois
      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 peu probable que Jobs, revenu chez Apple alors que l’entreprise était en crise, ait personnellement connu l’existence d’une obscure image ROM enfouie dans du code assembleur secret ainsi que son emplacement précis
      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é
    • Je reste convaincu que le profit relève du vol de travail non rémunéré, mais avec des salaires du niveau de Meta, quand il s’agit de la reconnaissance personnelle du travail, cette scène de Mad Men me revient en tête
      « 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

    • D’accord
      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
    • Il y a un petit quelque chose dans FILE_ID.DIZ
      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

    • Les jeux vidéo sont un bon point de départ, surtout les anciennes consoles comme la NES
      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
    • C’est toujours chouette de partager une découverte, mais c’est autre chose de dire que quelqu’un l’a activement cherchée pendant 27 ans
      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

    • Je suis un grand fan de Steve Jobs, mais j’aime aussi l’interrègne d’Apple entre 1985 et 1996
      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