1 puntos por GN⁺ 2025-06-25 | 1 comentarios | Compartir por WhatsApp
  • La ROM de las Power Macintosh G3 beige de 1997 a 1999 incluía una foto oculta del equipo, pero hasta 2025 no se conocía cómo mostrarla en una máquina real
  • La pista decisiva surgió de cadenas Pascal como .Edisk, secret ROM image y The Team al final del resource nitt ID 43, “Native 4.3”, que resultó ser código nativo para PowerPC de SCSI Manager 4.3
  • Al hacer ingeniería inversa del ejecutable PEF con Ghidra, se confirmó un flujo en el que, si el nombre del volumen del RAM disk era secret ROM image, se escribía el JPEG del resource HPOE ID 1 como un archivo The Team
  • La activación consiste en habilitar el RAM Disk, reiniciar y luego, al borrar el RAM Disk, escribir exactamente secret ROM image en el cuadro de diálogo de formato; esto se reprodujo tanto en emulador como en una G3 de escritorio real
  • Según varias pruebas, este método parece funcionar hasta Mac OS 9.0.4, y es posible que 9.1 sea la primera versión donde ya no funcione

La foto oculta del equipo que seguía dentro de la ROM

  • Mientras se examinaba la ROM de la Power Macintosh G3, salió a la luz un método de activación de easter egg que aún no estaba documentado
  • La ROM objetivo se usó en los modelos G3 beige de escritorio, minitorre y all-in-one lanzados entre 1997 y 1999
  • Para explorar la ROM se usaron Hex Fiend y ROM Fiend, la plantilla de ROM de Mac de Eric Harmon
  • Dentro de la ROM, los resources de tipo HPOE contenían una foto JPEG de varias personas que parecían ser quienes trabajaron en esos modelos de Mac
  • La existencia de la imagen en sí no era un descubrimiento nuevo; Pierre Dandumont ya la había tratado en 2014
    • En ese momento no se había confirmado cómo mostrar esa imagen en una máquina real
    • Algunos Mac más antiguos tenían combinaciones secretas de teclas para mostrar fotos parecidas, pero la forma de mostrar la foto de la ROM de la G3 seguía siendo un misterio

El resource de SCSI Manager 4.3 que dio la pista

  • En una exploración adicional se encontró el resource nitt ID 43, con nombre “Native 4.3”
  • Gracias a la investigación de Keith Kaisershot sobre Pippin, se pudo determinar rápidamente que este resource era código nativo para PowerPC de SCSI Manager 4.3
  • Al final del resource había cadenas Pascal que parecían vinculadas con el easter egg
    • .Edisk
    • secret ROM image
    • The Team
  • En particular, secret ROM image parecía tener muchas probabilidades de estar relacionado con la foto oculta descubierta antes
  • Al buscar en internet, se vio que la misma frase también se había usado en un easter egg de una Mac PowerPC anterior
    • En esa máquina anterior, al escribir esa frase, seleccionarla y arrastrarla al escritorio, aparecía la foto
    • Pero ese mismo método no funcionaba en la G3

El flujo real del código confirmado con Ghidra

  • Al extraer a un archivo todo el resource nitt ID 43, fue reconocido como un PowerPC PEF executable
  • Los primeros 12 bytes del archivo eran Joy!peffpwpc, y Ghidra lo cargó directamente como archivo PEF
  • En el análisis inicial no se detectaron bien las referencias a la cadena secret ROM image, pero al ejecutar Auto Analyze una vez más aparecieron referencias adicionales a las cadenas de interés
  • Esa función estaba realizando trabajo relacionado con el driver .EDisk, es decir, el driver del RAM disk
  • El comportamiento clave del decompilado era el siguiente
    • Buscar un driver llamado .Edisk
    • Buscar el disco conectado a ese driver, es decir, el RAM disk
    • Buscar el volumen conectado a ese disco
    • Si el nombre del volumen era secret ROM image:
      • Cargar el resource HPOE ID 1 para obtener los datos de la imagen JPEG
      • Crear un archivo The Team con creator ttxt y type JPEG
      • Abrir el archivo, escribir los datos JPEG y cerrarlo
      • Después realizar acciones adicionales relacionadas con la control entry del driver
  • Esa función solo era llamada desde otro lugar, y el punto de llamada comprobaba si el primer argumento era 0x3DA (986 en decimal)

Cómo activarlo formateando el RAM Disk

  • Como no había una G3 beige real a mano, se compartió el hallazgo en el canal #mac68k de Libera, y ^alex descubrió con pruebas en Infinite Mac que era necesario borrar el RAM Disk
  • Después, el mismo método funcionó también en hardware real de una G3 de escritorio
  • En el navegador se puede reproducir ejecutando una G3 beige emulada con Mac OS 8.1 instalado
    • Usa DingusPPC
    • Al iniciar hay una peculiaridad: aparece un error de fallo al resolver alias, y cuando salga ese error basta con presionar Stop
  • El procedimiento para reproducirlo es el siguiente
    • Activar RAM Disk en el panel de control Memory
    • Elegir Restart en el menú Special
    • Cuando vuelva a aparecer el escritorio, seleccionar el ícono de RAM Disk
    • Elegir Erase Disk en el menú Special
    • Escribir exactamente secret ROM image en el cuadro de diálogo de formato
    • Hacer clic en Erase
  • Al abrir el RAM Disk recién formateado, aparece un archivo llamado The Team
  • Al hacer doble clic en ese archivo, se abre SimpleText

Uno de los últimos easter eggs de hardware que siguió vivo hasta Mac OS 9.0.4

  • Según pruebas de varias personas y pruebas directas, este método parece funcionar hasta Mac OS 9.0.4
  • Es posible que Mac OS 9.1 sea la primera versión en la que este método dejó de funcionar
  • Hasta donde se ha podido comprobar, este secreto parece ser un hallazgo nuevo
    • Ya se sabía que había una imagen dentro de la ROM
    • Pero no estaba documentado cómo activarla realmente
  • Este easter egg podría ser uno de los últimos easter eggs de hardware incluidos en Macs anteriores a los reportes de que Steve Jobs prohibió los easter eggs tras su regreso a Apple en 1997
  • Si ^alex no hubiera encontrado la condición de activación de borrar el RAM Disk, probablemente habría sido necesario seguir rastreando el resto del código

1 comentarios

 
GN⁺ 2025-06-25
Opiniones de Hacker News
  • Este tipo de easter eggs transmite mucho el ambiente de la era temprana de las PC de escritorio en general.
    Era un elemento muy humano, que conectaba con el hecho de que los productos los hacían personas con rostros y nombres detrás.
    En ese entonces eran proyectos hechos con pasión por nerds hardcore, pero hoy predomina la idea de impedir que se vea más allá de la capa de abstracción del producto.
    Los responsables de producto quieren controlar la imagen completa del producto, y si se considera que la lista de nombres puede ser demasiado grande o que alguien dentro de ella podría convertirse en un problema más adelante, parece que ven más seguro deshumanizarlo.
    Hoy podría imaginar un easter egg genial en el iPhone que, cada vez que se active, muestre al azar a algunas de las personas que participaron en su desarrollo; a mí personalmente me gustaría, pero sospecho que chocaría con el gusto refinado de los responsables de producto.

    • Me pregunto si esto era más común antes de Agile.
      En el desarrollo orientado a fechas límite, puede darse la situación de que una parte del equipo tenga que esperar a que otro miembro termine algo para poder cruzar un hito, y también hay un límite para estar revisando el backlog una y otra vez.
      Cuando el aburrimiento se combina con la racionalización de “si meto algo pequeño a escondidas no afectará el roadmap”, hay mucha más motivación y oportunidad.
    • Como alguien que ha metido easter eggs en trabajos propios, el mayor problema es que no tengo el valor de agregarle al software un posible punto de falla por una función que no tiene más valor que ser una broma.
      Sobre todo ahora que el software se ha vuelto tan complejo y enorme; además, ni siquiera sé si en la empresa hay tiempo para hacer cosas graciosas.
      Se siente como si siempre estuviera trabajando al 120%.
    • Hay que tener cuidado: quizá al presionar un atajo especial en una Mac nueva aparezca en pantalla completa un retrato de cuerpo entero de Craig Federighi con abundante vello en el pecho, y se ofrezca una descarga de 5 GB para poder hacer zoom “infinito” en la zona del pecho.
    • No sé qué resentimiento raro tienes contra la gente de producto, pero esto no tiene nada que ver con la gestión de producto.
      El software de antes lo hacían unas pocas personas, pero hoy participan miles dentro de una organización.
      Para bien o para mal, esa es la realidad, y en los grandes proyectos de software actuales un easter egg que destaque solo a unas cuantas personas no tiene mucho sentido.
  • Es bastante genial y muestra que detrás de las empresas hay personas reales.
    Algunos con mucho dinero dicen “yo lo hice”, apropiándose de los logros de la gente pequeña.
    En cambio, la gente pequeña de verdad deja en la historia una huella que dice: “No, quienes pusimos el alma para lograr esto fuimos nosotros”.
    Aunque, claro, Steve Jobs probablemente lo habría prohibido.

    • No soy gran fan de Jobs, pero creo que fue una figura mucho más compleja que la caricatura de villano que a veces se hace de él.
      En este tema, más bien estuvo cerca del origen de esa corriente: https://www.folklore.org/Signing_Party.html
      Así que no es algo para decir “claro”; además, Microsoft también tenía una política de prohibición de easter eggs desde principios de los 2000, así que no era solo cosa de Jobs.
    • Es poco probable que Jobs, al volver a una Apple en crisis, supiera personalmente de alguna tenue imagen de ROM enterrada en código ensamblador secreto y de su ubicación.
      Lo más plausible es que una de esas “personas reales” la haya borrado mientras hacía tareas de limpieza.
      Jobs hablaba a menudo en público sobre la gente increíble que trabajaba en Apple, y también conversó con Walt Mossberg sobre lo importante que era formar grandes equipos y fomentar la creatividad.
    • Aunque mantengo firme la idea de que la ganancia es robo de trabajo no remunerado, si hablamos de salarios al nivel de Meta, el asunto del reconocimiento personal por el trabajo me recuerda aquella escena de Mad Men:
      “¡Para eso es el dinero!”
  • Trabajé con alguien que hizo diseño de ASIC y placas en Apple desde los 80 hasta mediados de los 90.
    Una vez se enojó porque el equipo de hardware se había dejado la piel en el diseño y la depuración del sistema, mientras que el equipo de software usó unos 50 KB de imagen ROM para alabar al equipo que diseñó la computadora, pero omitió por completo al equipo de hardware.

  • Me recuerda al mensaje “We made the Amiga, they f----d it up!”.
    https://arstechnica.com/gadgets/2007/12/amiga-history-part-5...

  • De verdad extraño los easter eggs.
    Ojalá volvieran.

    • De acuerdo.
      Hoy quizá solo se vean en proyectos pequeños, pero me gustaría verlos también en trabajos de mayor escala.
      Cuando era niño, descubrir o escuchar sobre un easter egg dentro de un producto hacía que usara más ese producto aunque fuera solo para encontrarlo.
      Es una lástima que esas pequeñas alegrías ocultas ya no sean tan populares como antes, y es triste que incluso las versiones modernas de Android se limiten a un “easter egg” aburrido que solo ofrece una interacción decepcionantemente pobre al usuario que habilita las funciones de desarrollador.
    • Hay algo pequeño dentro de FILE_ID.DIZ.
      https://raw.githubusercontent.com/tirrenotechnologies/tirren...
  • Hace tiempo alguien compartió un easter egg en el que, escribiendo un pequeño código en la app Playground del iPad, se cargaba algo parecido al siguiente logo de la ROM.
    En ese momento lo reproduje, pero desde entonces no he vuelto a encontrar material relacionado.
    Fue hace unos 6 años, más o menos.

  • Impresionante
    Es interesante que haya tardado tanto en que alguien encontrara el mecanismo que activa este easter egg
    La ingeniería inversa es difícil
    Ahora me pregunto dónde se puede aprender ingeniería inversa
    Me pregunto por dónde empezar, o si hay tutoriales en línea o libros recomendados

    • Los videojuegos son un buen punto de partida, sobre todo las consolas antiguas como la NES
      Los resultados de los experimentos se ven de inmediato y el dispositivo es simple
      Aunque la “API” del hardware puede ser bastante poco intuitiva para los programadores modernos
      Ya existen muchas herramientas para hacking e ingeniería inversa, así que basta con cargar tu juego favorito de NES en Mesen, abrir nesdev.org en el navegador y ponerse a explorar las herramientas de depuración
      Si alguien ya hizo ingeniería inversa del juego que estás analizando, también puedes encontrar información útil en https://datacrystal.tcrf.net
      Hacer ingeniería inversa de software más moderno es complicado
      También podrían resultarte interesantes dos artículos que escribí hace tiempo sobre hacking de juegos de Gamecube: https://www.smokingonabike.com/2021/01/17/hacking-super-monk..., https://www.smokingonabike.com/2021/02/28/hacking-super-monk...
      Discusión relacionada en HN: https://news.ycombinator.com/item?id=26315368
    • Compartir un hallazgo siempre es genial, pero otra cosa es si de verdad hubo alguien buscándolo activamente durante 27 años
      En muchos casos simplemente fue la primera vez que alguien intentó escarbar en el código
      Sobre todo después de que Ghidra hiciera mucho más fácil la decompilación incluso en arquitecturas menos populares
      Vale la pena intentarlo; hay bastante fruta al alcance de la mano
      Hace tiempo también envié un caso parecido
      Por suerte, a diferencia de otros easter eggs de sistemas operativos, parece que no tenía ofuscación del tipo “XOR encadenado guardado en un recurso bitmap de un formato de ejecutable con mal soporte”: https://x.com/mswin_bat/status/1504788425525719043
  • La gente suele divinizar demasiado a Steve Jobs, pero no sé
    Personalmente, también me gusta bastante la época en que la Mac vagaba por el desierto
    Al leer cosas como esta, me queda la sensación de que, aunque en general haya sido beneficioso, con el regreso de Jobs Apple perdió algo de su cultura e identidad

    • Soy gran fan de Steve Jobs, pero también me gusta el interregno de Apple entre 1985 y 1996
      Sculley, Spindler y Amelio no fueron los mejores líderes, y Apple se tambaleó mucho por Pink/Taligent, Copland, la PowerBook 5300 y fracasos de hardware como las series Performa 5200/6200/5300/6300
      En especial, 1995 fue un año desastroso para Apple
      Aun así, este período tuvo muchas cosas geniales
      Jean Louis Gassée luchó por una Mac expandible, y su influencia llevó a la Macintosh II, lo que inició una larga línea de Macs expandibles que no se interrumpió hasta la Mac Pro “basurero” de 2013
      System 7 no era el sistema operativo más estable, pero su UI era excelente
      Don Norman y Bruce Tognazzini impulsaron principios y guías sólidos de UI/UX, y HyperCard también fue producto de esta época
      El Advanced Technology Group de Apple, donde estaban Larry Tesler, Alan Kay y otros, trabajó en proyectos interesantes como el lenguaje de programación Dylan y el entorno SK8
      OpenDoc también fue un intento interesante de crear una plataforma de software basada en componentes
      El Mac OS clásico también tenía una sensación acogedora y juguetona que desapareció con la transición a Mac OS X
      Por supuesto, estoy muy agradecido por Mac OS X
      Me gustan tanto la Apple del “interregno” como la Apple de 1997 a 2011, cuando Jobs volvió, pero la Apple de Tim Cook no me gusta mucho
      Desde entonces sentí que Apple cambió mucho respecto de sus raíces
      Apple ha tenido el mayor éxito financiero de su historia, pero la Mac ya no tiene la sensación que tenía en los años 90 o 2000
      Apple pasó de ser una compañía de Mac a ser una compañía de iPhone
  • Esto habría sido material perfecto para Stump the Experts, pero ni modo

  • Siempre me fascina lo pequeños que eran los equipos en los primeros días de la computación, y ojalá de algún modo se pudiera volver a esa época