1 điểm bởi GN⁺ 2025-06-25 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu trải nghiệm vô tình phát hiện một easter egg độc đáo khi phân tích bên trong ROM Power Mac G3
  • Người ta đã biết từ trước rằng trong một tài nguyên có tên HPOE có ẩn ảnh của các lập trình viên, nhưng cách hiển thị thực tế đến nay vẫn là điều bí ẩn
  • Dòng chữ "secret ROM image" xuất hiện trong mã của SCSI Manager và đã cung cấp manh mối
  • Khi định dạng đĩa RAM với một tên cụ thể, tệp "The Team" sẽ được tạo ra, và tệp này sẽ hé lộ hình ảnh ẩn
  • Cách này hoạt động đến tận Mac OS 9.0.4, và phát hiện lần này có vẻ là lần công bố đầu tiên của easter egg này

Bối cảnh phát hiện easter egg trong ROM Power Mac G3

  • Gần đây, trong quá trình phân tích ROM của Power Macintosh G3, đã phát hiện ra một easter egg chưa từng được tài liệu hóa chính thức cho đến nay
  • Việc phân tích sử dụng Hex FiendROM Fiend, mẫu ROM Mac của Eric Harmon
  • Đây là ROM dùng cho các mẫu G3 beige desktop, minitower và all-in-one được sử dụng từ năm 1997 đến 1999
  • Chính tác giả cũng ngạc nhiên khi G3 đã hơn 27 năm tuổi

Tóm tắt các phát hiện thú vị trong ROM

  • Điều đầu tiên gây chú ý là một ảnh JPEG trong tài nguyên loại HPOE, được cho là ảnh chụp nhóm những người từng tham gia phát triển mẫu máy này vào thời điểm đó
  • Hình ảnh này từng được nhắc đến trước đây, nhưng cách hiển thị thực sự của nó vẫn chưa được làm rõ
  • Tiếp theo, trong tài nguyên nitt ID 43 (Native 4.3), tác giả tìm thấy các chuỗi Pascal thú vị: ".Edisk", "secret ROM image", "The Team"
  • Ban đầu tác giả đoán rằng "secret ROM image" có thể liên quan đến easter egg trên dòng DOS Mac, nhưng cách cũ không hoạt động trên G3

Quá trình phân tích mã và suy ra phương pháp

  • Tác giả quyết định dịch ngược mã và phân tích toàn bộ tệp nitt43 bằng Ghidra
  • Dù không quen với mã hợp ngữ PowerPC, nhưng nhờ decompiler của Ghidra, có thể chuyển nó thành mã dễ đọc hơn
  • Kết quả cho thấy hàm chính tương tác với trình điều khiển .EDisk (đĩa RAM)
  • Khi phát hiện một volume (= đĩa RAM) có tên "secret ROM image", dữ liệu JPEG chứa trong tài nguyên HPOE ID 1 sẽ được ghi vào một tệp tên là "The Team"

Cách kích hoạt easter egg trong thực tế

  • Kết quả phân tích cho thấy, nếu định dạng đĩa RAM với tên "secret ROM image" thì easter egg sẽ được kích hoạt
  • Có thể kiểm chứng cách này trên các trình giả lập trực tuyến như dự án Infinite Mac
  • Trình tự cụ thể:
    • Bật đĩa RAM trong bảng điều khiển Memory
    • Chọn Restart từ menu Special
    • Sau khi quay lại màn hình nền, chọn biểu tượng đĩa RAM
    • Chọn Erase Disk từ menu Special
    • Nhập chính xác tên "secret ROM image" rồi nhấn Erase
    • Mở đĩa RAM vừa định dạng, tệp "The Team" sẽ được tạo ra
  • Có thể mở tệp này bằng SimpleText hoặc công cụ tương tự để xem hình ảnh bên trong

Ý nghĩa của easter egg và phần kết

  • Cách này đã được kiểm thử và hoạt động bình thường cho đến phiên bản Mac OS 9.0.4
  • Từ trước người ta đã biết hình ảnh đó tồn tại trong ROM, nhưng cách kích hoạt thực tế lần này dường như lần đầu tiên được làm sáng tỏ hoàn toàn
  • Đây nhiều khả năng là một trong những easter egg cuối cùng bị cấm chính thức sau khi Steve Jobs quay lại Apple vào năm 1997
  • Nhờ nhiều phép thử và gợi ý, tính năng ẩn này cuối cùng đã được hé lộ, mang ý nghĩa lớn cả ở góc độ phân tích phần cứng và phần mềm Mac cổ lẫn khai quật lịch sử công nghệ

Kết

  • Đây là trường hợp một hình ảnh kỷ niệm không chính thức của nhóm phát triển đã ngủ yên suốt 27 năm được hé lộ chỉ bằng cách đổi tên rồi định dạng đĩa RAM
  • Đây là một ví dụ thú vị với những độc giả quan tâm đến kỹ thuật easter egg, văn hóa phát triển của Apple và dấu vết ẩn của các nhà phát triển

1 bình luận

 
GN⁺ 2025-06-25
Ý kiến trên Hacker News
  • Tôi nghĩ những easter egg như thế này mang lại rất nhiều cảm xúc của thời kỳ đầu desktop PC, nhờ đó càng thấy rõ đây là phần mềm do con người thật sự tạo ra; nó gợi nhớ đến thời xưa khi nhiều sản phẩm được làm bởi một nhóm nhỏ lập trình viên đầy nhiệt huyết. Ngày nay thì có những Product People (bộ phận hoạch định/quản lý) muốn kiểm soát hoàn toàn hình ảnh của sản phẩm, nên đôi khi cố tình khiến mọi thứ trở nên lạnh lẽo và phi nhân tính đến rợn người. Thử tưởng tượng nếu trong iPhone ngày nay của tôi có một easter egg, để mỗi lần kích hoạt lại hiện ngẫu nhiên ảnh hoặc tên của một vài người đã tham gia phát triển, thì hẳn sẽ rất vui. Nhưng có lẽ điều đó sẽ không phù hợp với tiêu chuẩn của Product People.
    • Tôi tự hỏi có phải ngày xưa, trước khi Agile được áp dụng, những easter egg kiểu này còn nhiều hơn không. Khi phát triển theo deadline, thường sẽ có lúc một phần của nhóm buộc phải chờ đợi, backlog cũng có giới hạn, nên trong những khoảng trống đó sẽ nảy sinh chút "động lực" và "cơ hội" để nhét vào các thứ như easter egg.
    • Tôi thấy lời chỉ trích nhắm vào Product People hơi quá. Ngày xưa chỉ vài người làm, còn bây giờ hàng nghìn người dính vào một dự án; trong phần mềm quy mô lớn, easter egg chỉ làm lộ tên của một vài lập trình viên thì cũng thành ra vô nghĩa.
  • Trước đây tôi từng làm với một đồng nghiệp từng thiết kế ASIC và bo mạch ở Apple. Cậu ấy từng than phiền rằng dù đã bỏ công sức khổng lồ để phát triển và debug phần cứng hệ thống, thì đội phần mềm lại phí dung lượng ROM để nhét vào một hình ảnh giới thiệu đội ngũ nhằm tự tôn vinh chính mình, còn đội phần cứng thì bị phớt lờ hoàn toàn.
  • Tôi nghĩ việc cho thấy đằng sau các công ty thật sự là những con người cụ thể là điều rất hay. Những người siêu giàu thường cố nhận công lao thật sự với kiểu “tôi đã làm ra cái này”, còn những con người bình thường trực tiếp làm việc thực tế thì để lại một dấu vết ở góc nhỏ của lịch sử rằng “linh hồn của chúng tôi đã hòa vào đây”. Dĩ nhiên, Steve Jobs có lẽ đã cấm những easter egg như vậy.
    • Cá nhân tôi không phải fan của Jobs, nhưng tôi cũng nghĩ việc nhìn ông ấy như một phản diện quá đơn giản là không công bằng. Ở khía cạnh này, lịch sử thậm chí còn cho thấy Jobs là người chủ động hơn xem buổi tiệc ký tên của Apple. Nhân tiện, Microsoft đã có chính sách “no easter eggs” từ đầu những năm 2000, nên đây không hẳn là đặc điểm riêng của Jobs.
    • Tôi không nghĩ khi Jobs quay lại Apple trong giai đoạn khủng hoảng, ông ấy lại biết đến cả sự tồn tại của một hình ảnh ROM ẩn obscure ở đâu đó. Có lẽ một kỹ sư bình thường nào đó đã dọn dẹp rồi xóa đi. Trái lại, Jobs thường xuyên ca ngợi những đội ngũ xuất sắc và sức sáng tạo của Apple, và cũng nhiều lần nói về tầm quan trọng của việc xây dựng đội ngũ tốt.
    • Tôi cũng có niềm tin rằng lợi nhuận rốt cuộc là phần lao động bị đánh cắp mà không được trả thành tiền lương, nhưng khi nói đến mức lương kiểu Meta thì tôi lại nhớ đến câu thoại nổi tiếng trong Mad Men cũ: khi ai đó muốn được công nhận công lao cá nhân, câu trả lời là “đó chính là lý do họ trả tiền cho anh”.
  • Tôi nhớ đến câu nổi tiếng mà đội ngũ làm máy tính Amiga từng để lại: “We made the Amiga, they f----d it up!” liên kết liên quan
  • Tôi luôn thấy những nhóm nhỏ thời kỳ điện toán xưa thú vị, và mong rằng một ngày nào đó chúng ta có thể quay lại như thế.
  • Tôi nhớ hồi những năm 90 ngồi ở thư viện đọc MacWorld, rồi biết được một mẹo dùng vài cú click và nhập phím để mở khóa thứ gì đó liên quan đến bộ xử lý. Tôi không còn nhớ chính xác đó là chức năng gì, chỉ nhớ nó có liên quan đến bộ xử lý 33mhz của Apple IIci.
    • Với tôi, kỷ niệm tuyệt nhất là trên System 7.5, nếu kéo một text clipping có nội dung “secret about box” ra desktop thì sẽ mở ra một game breakout với danh sách thành viên đội dev hiện thành các “viên gạch”. Đúng là một thời vui vẻ.
  • Tôi từng dùng app playground trên iPad để viết một ít code rồi tìm ra một easter egg gọi logo tiếp theo từ ROM. Hồi đó tôi đã làm theo thử, nhưng từ sau đó không tìm thấy thêm tài liệu tham chiếu nào nữa. Chuyện này cách đây khoảng 6 năm.
  • Tôi rất nhớ easter egg, và mong chúng sẽ quay trở lại.
    • Đồng ý. Bây giờ chỉ còn lác đác trong các dự án nhỏ, nhưng tôi vẫn mong nó hồi sinh cả ở các dự án lớn. Hồi nhỏ, chỉ cần nghe đồn sản phẩm nào đó có easter egg là tôi đã muốn dùng nó lâu hơn. Giờ thì ngay cả Android cũng có easter egg ngày càng nhạt nhẽo, mở được trong developer mode rồi mà cũng chẳng thấy hào hứng gì, nên càng tiếc.
    • Trong dự án của nhóm chúng tôi có một easter egg nhỏ nằm trong FILE_ID.DIZ liên kết
  • Điều khiến tôi ấn tượng là cơ chế easter egg này đã không bị ai phát hiện trong suốt một thời gian dài; điều đó làm tôi cảm nhận rõ reverse engineering thật sự khó đến mức nào. Nếu muốn nhập môn thì nên bắt đầu từ đâu, có tutorial online hay sách nào đáng đọc thì mong được gợi ý.
  • Chuyện này mà từng xuất hiện trong Stump the Experts (gameshow đố vui về Apple) thì đúng là quá hợp, tiếc thật