1 puan yazan GN⁺ 2025-06-25 | 1 yorum | WhatsApp'ta paylaş
  • Power Mac G3 ROM içini analiz ederken benzersiz bir easter egg'in tesadüfen keşfedilme deneyimi anlatılıyor
  • Geliştirici fotoğrafının HPOE adlı bir kaynakta gizli olduğu biliniyordu, ancak bunun gerçekte nasıl görüntüleneceği şimdiye kadar bir gizemdi
  • "secret ROM image" metni SCSI Manager kodunda ortaya çıkıyor ve önemli bir ipucu veriyor
  • RAM diski belirli bir adla biçimlendirildiğinde "The Team" dosyası oluşturuluyor ve bu dosya gizli görüntüyü açığa çıkarıyor
  • Bu yöntem Mac OS 9.0.4'e kadar çalışıyor ve bu keşif bu easter egg'in ilk kez tam olarak ortaya konması gibi görünüyor

Power Mac G3 ROM'undaki easter egg'in keşif arka planı

  • Yakın zamanda Power Macintosh G3'ün ROM'unu analiz etme sürecinde, bugüne kadar resmi olarak belgelenmemiş bir easter egg keşfedildi
  • Analizde Hex Fiend ile Eric Harmon'un Mac ROM şablonu ROM Fiend kullanıldı
  • Bu, 1997'den 1999'a kadar kullanılan beige masaüstü, minitower ve all-in-one G3 modellerinin ROM'unu kapsıyor
  • Geliştirici, G3'ün 27 yılı aşkın bir geçmişe sahip olmasına kendisi de hayret ediyor

ROM'daki ilginç bulguların özeti

  • İlk dikkat çeken şey, HPOE türü kaynakta bulunan bir JPEG görüntüsüydü; bunun o dönemde bu modelin geliştirilmesinde yer alan kişilerin grup fotoğrafı olduğu tahmin ediliyor
  • Bu görüntü daha önce de anılmıştı, ancak gerçekte nasıl görüntüleneceği ortaya çıkarılmamıştı
  • İkinci olarak, nitt kaynak ID 43 (Native 4.3) içinde ilgi çekici Pascal dizgileri bulundu: ".Edisk", "secret ROM image", "The Team"
  • Başta "secret ROM image" ifadesinin DOS Mac easter egg'iyle bağlantılı olabileceği düşünüldü, ancak mevcut yöntem G3'te çalışmıyor

Kod analizi ve yöntemin çıkarılması süreci

  • Bunun üzerine kodu tersine çevirmeye karar verildi ve tüm nitt43 dosyası Ghidra ile analiz edildi
  • PowerPC assembly koduna aşinalık az olsa da, Ghidra'nın decompiler'ı sayesinde daha okunabilir bir koda dönüştürmek mümkün oldu
  • Ana fonksiyonun .EDisk (RAM disk) sürücüsü ile etkileşime girdiği ortaya çıktı
  • Adı "secret ROM image" olan bir volume (=RAM disk) algılandığında, HPOE kaynak ID 1 içindeki JPEG verisi "The Team" adlı bir dosyaya yazılıyor

Easter egg'i gerçekten tetikleme yöntemi

  • Analiz sonucunda, RAM diski "secret ROM image" adıyla biçimlendirmenin easter egg'i çalıştırdığı anlaşıldı
  • Bu yöntem Infinite Mac projesi gibi çevrimiçi emülatörlerde doğrulanabiliyor
  • Somut adımlar:
    • Memory denetim masasından RAM disk'i etkinleştirin
    • Special menüsünden Restart'ı seçin
    • Masaüstüne döndükten sonra RAM disk simgesini seçin
    • Special menüsünden Erase Disk'i seçin
    • Adı tam olarak "secret ROM image" olacak şekilde girin ve Erase'e tıklayın
    • Biçimlendirilmiş RAM diski açtığınızda "The Team" dosyası oluşturulur
  • Dosya, içindeki görüntüyü görmek için SimpleText vb. ile açılabiliyor

Easter egg'in önemi ve kapanış

  • Bu yöntemin Mac OS 9.0.4 sürümüne kadar sorunsuz çalıştığı test edildi
  • Şimdiye kadar bu görüntünün ROM'da bulunduğu biliniyordu, ancak gerçekte nasıl tetiklendiği ilk kez bu kadar eksiksiz biçimde ortaya konmuş oldu
  • Bunun, Steve Jobs'un 1997'de Apple'a dönüşünden sonra resmi olarak yasakladığı son easter egg'lerden biri olma ihtimali yüksek
  • Çeşitli testler ve ipuçları sayesinde bu gizli özellik gün yüzüne çıktı; bu da eski Mac donanımı ve yazılımı analizi ile tarihsel teknoloji keşfi açısından büyük önem taşıyor

Kapanış

  • RAM diski yeniden adlandırarak biçimlendirme gibi basit bir yöntemle, 27 yıldır uykuda olan geliştirme ekibinin gayriresmî hatıra görüntüsü ortaya çıkarılmış oldu
  • Easter egg tekniği, Apple'ın geliştirme kültürü ve gizli geliştirici izleriyle ilgilenen okurlar için ilgi çekici bir örnek

1 yorum

 
GN⁺ 2025-06-25
Hacker News yorumları
  • Bu tür easter egg'lerin, masaüstü PC'lerin ilk dönemlerine özgü o hissi çok güçlü verdiğini düşünüyorum; sayesinde bunun gerçekten insanlar tarafından yapılmış bir yazılım olduğunu daha çok hissedebiliyorsunuz. Eskiden az sayıda tutkulu geliştiricinin bir araya gelip ortaya çıkardığı işler daha fazlaydı; bugünse ürünün imajını tamamen kontrol etmek isteyen Product People (planlama/yönetim ekipleri) var ve bu da bazen bilerek ürkütücü derecede insanlıktan uzak hissettiriyor. Düşünsenize, bugün iPhone'umun içinde bir easter egg olsa ve her çalıştırdığımda geliştirmeye katkı veren bazı kişilerin fotoğrafları ya da isimleri rastgele çıksa çok hoş olurdu. Ama muhtemelen Product People standartlarına uymazdı.
    • Eskiden, Agile benimsenmeden önce bu tür easter egg'ler daha mı fazlaydı diye merak ediyorum. Deadline odaklı geliştirmede ekibin bir kısmının beklemek zorunda kaldığı durumlar sık olurdu ve backlog'un da sınırları vardı; böyle boşluklarda küçük bir "motivasyon" ve "fırsat" doğar, easter egg gibi şeyler de daha çok eklenirdi diye hatırlıyorum.
    • Product People'a yönelik eleştiri biraz abartılı gibi. Eskiden bir şeyi birkaç kişi yapıyordu, şimdi ise tek bir projeye binlerce kişi dahil oluyor; devasa yazılımlarda sadece bazı geliştiricilerin isimlerinin göründüğü bir easter egg pek anlamlı olmuyor.
  • Eskiden Apple'da ASIC ve kart tasarımı yapan bir meslektaşımla çalışmıştım. Bir keresinde, sistem donanımını geliştirmek ve debug etmek için inanılmaz emek harcasalar da yazılım ekibinin ROM alanını harcayıp kendilerini öven takım tanıtım görselleri koyduğunu, donanım ekibinin ise tamamen görmezden gelindiğini üzülerek anlatmıştı.
  • Bir şirketin arkasında gerçek insanların olduğunu göstermek bence harika bir şey. Büyük zenginler sık sık "bunu ben yaptım" diyerek asıl emeği sahiplenmeye çalışıyor ama sahada gerçekten çalışan sıradan insanlar da tarihin bir köşesine "ruhlarımız burada eridi" der gibi bir iz bırakıyor. Tabii Steve Jobs böyle easter egg'leri yasaklamış da olabilir.
    • Ben de kişisel olarak Jobs hayranı değildim ama onu fazla basit biçimde kötü karakter gibi görmek de haksızlık. Hatta bu konuda Jobs'un önayak olduğu tarihsel örnekler bile var: Apple'ın imza partisine bakın. Bu arada Microsoft'un 2000'lerin başından beri "no easter eggs" politikası vardı; yani bu sadece Jobs'a özgü bir şey değildi.
    • Jobs Apple'a kriz döneminde geri döndüğünde, bir yerlerde gizlenmiş belirsiz bir ROM görselinden haberdar olacak durumda olduğunu sanmıyorum. Büyük ihtimalle sıradan bir mühendis temizlik yaparken sildi. Jobs ise tam tersine Apple'ın harika ekiplerini ve yaratıcılığını sık sık övüyordu; iyi takım kurmanın öneminden de defalarca söz etmişti.
    • Kârın sonuçta ücret olarak ödenmeyen emeğin çalınması olduğuna dair bir inancım da var ama Meta düzeyi maaşlar söz konusu olduğunda, eski Mad Men'deki şu unutulmaz replik aklıma geliyor: Birisi kişisel katkısının tanınmasını istediğinde, "İşte bu yüzden sana para ödüyorlar."
  • Amiga ekibinin bıraktığı ünlü mesajı hatırladım: "We made the Amiga, they f----d it up!" ilgili bağlantı
  • Eski bilgisayar dönemlerinin küçük ekipleri bana hep ilginç gelmiştir. Keşke bir gün yeniden o düzene dönebilsek.
  • 90'larda kütüphanede MacWorld okurken, birkaç tıklama ve tuş girişiyle işlemciyle ilgili bir şeyi açan bir numara öğrendiğimi hatırlıyorum. Tam olarak ne yaptığını anımsamıyorum ama Apple IIci 33mhz işlemcisiyle ilgiliydi.
    • Benim için en iyisi, System 7.5'te "secret about box" yazılı bir text clipping'i masaüstüne sürükleyince geliştirici ekip üyelerinin isimlerinin "tuğla" olarak yer aldığı bir breakout oyununun açılmasıydı. Gerçekten harika zamanlardı.
  • iPad'deki playground uygulamasında biraz kod yazarak ROM'dan sonraki logoyu çağıran bir easter egg bulduğumu hatırlıyorum. O zaman denemiştim ama sonrasında bununla ilgili başka hiçbir referans bulamadım. Yaklaşık 6 yıl önceydi.
  • Easter egg'leri çok özlüyorum; keşke geri gelseler.
    • Katılıyorum. Bugünlerde küçük projelerde hâlâ biraz var ama büyük projelerde de geri dönmesini isterim. Çocukken sadece bir üründe easter egg olduğuna dair söylenti bile o ürünü daha uzun süre kullanmama neden olurdu. Şimdilerde Android'in easter egg'leri bile sönükleşti; geliştirici modundan zar zor açsanız da pek heyecan vermiyor, bu da üzücü.
    • Bizim ekip projesinde FILE_ID.DIZ içinde küçük bir easter egg var bağlantı
  • Bu easter egg mekanizmasının bunca zaman kimse tarafından fark edilmemiş olması etkileyici. Reverse engineering'in gerçekten ne kadar zor olduğunu hissettiriyor. Başlamak için nereden ilerlenebilir, tavsiye edebileceğiniz çevrimiçi eğitimler ya da kitaplar var mı?
  • Bu konu, Stump the Experts (Apple'la ilgili bir bilgi yarışması) programına tam uygun olurmuş; kaçırılmış fırsat gibi.