Hello World vs. Hello Apple: Apa yang Anda Lihat Saat Melihat Gambar Ini?

Kita semua ingat pertanyaan "Apa warna gaun ini?" fenomena diikuti oleh "Yanny vs. Laurel." Sekarang dunia memiliki teka-teki baru untuk diobsesi, dan itu akan mengadu domba pengguna Apple dengan saingan lama mereka.
Begini cara kerjanya: lihat gambar ini di PC atau ponsel Android (atau produk non-Apple lainnya). Kemudian, lihat gambar yang sama di perangkat Apple. Jika Anda sudah menggunakan Mac, iPhone, atau iPad, beralihlah ke platform lain.
Mari kita coba lagi dengan gambar yang berbeda .
Cukup rapi, ya? Saat melihat gambar pertama di PC atau ponsel Android, Anda seharusnya melihat pesan "HELLO WORLD". Di perangkat Apple, file gambar yang sama bertuliskan "HELLO APPLE". (Ada peringatan yang akan kami bahas lebih detail di bawah.)

Gambar kedua bahkan lebih trippier. Pada perangkat non-Apple, gambar menunjukkan PC IBM lama, tetapi beralih ke perangkat-i dan Anda akan melihat Mac lama.

Oke, jadi apa yang terjadi di sini? Biarkan insinyur dan kriptografer David Buchanan—dalang di balik teka-teki ini—yang menjelaskan:
“Saya menemukan ini saat menulis decoder PNG multi-utas saya sendiri. Saat merenungkan desain saya, saya menyadari bahwa saya memiliki bug implementasi yang dapat dieksploitasi, ”tulis Buchanan dalam postingan blog . “Setelah mengetahui bahwa Apple memiliki implementasi sendiri dari PNG yang dapat didekodekan secara paralel, saya menyadari bahwa mereka telah membuat kesalahan yang persis sama!”
Dalam istilah yang disederhanakan, ada berbagai cara untuk memecahkan kode gambar. Anda dapat melakukannya dalam satu utas atau Anda dapat melakukannya dalam utas paralel yang dipecah menjadi blok (metode yang digunakan untuk membuat program berjalan lebih cepat), seperti yang dicoba Buchanan. Dia menemukan bug di proyeknya sendiri, lalu menemukan bahwa Apple telah melakukan kesalahan yang sama. Dia menentukan bahwa dimungkinkan untuk merender file PNG di mana: decompress(a + b) != decompress(a) + decompress(b) (di mana != berarti tidak sama dengan). Artinya, dua bagian yang didekodekan secara terpisah kemudian disatukan tidak selalu menghasilkan hasil yang sama seperti dua bagian yang sama yang didekodekan bersama.
“Ini bisa terjadi jika ujungnya di tengah-tengah blok yang tidak dikompresi. Oleh karena itu, mungkin sebuah gambar memiliki dua kemungkinan interpretasi, tergantung pada apakah decoder paralel atau non-paralel menerjemahkannya, ”lanjut Buchanan.
Bagi Anda yang skeptis di luar sana, ketika saya menunjukkan gambar-gambar ini kepada saudara laki-laki saya, seorang ilmuwan riset di The University of Virginia, dia meng-hash file tersebut (mengonversinya menjadi angka) dan mengonfirmasi bahwa itu memang sama, membuktikan bahwa Buchanan tidak memotong sudut dengan melayani Anda file yang berbeda berdasarkan browser atau OS yang Anda gunakan.
Jika Anda kesulitan mereplikasi teka-teki ini, mungkin ada hubungannya dengan browser Anda karena triknya bergantung pada perangkat lunak Apple, bukan perangkat keras. Setelah melihat gambar di beberapa perangkat dan browser, kami mengetahui bahwa produk Apple yang menjalankan Safari akan selalu menampilkan HELLO APPLE sementara perangkat non-Apple yang menggunakan browser lain menampilkan HELLO WORLD.
Tetapi hal-hal menjadi membingungkan begitu Anda mulai mencampur dan mencocokkan.
Saat menggunakan browser non-Safari di perangkat seluler Apple (iPad, iPhone), pesan HELLO APPLE muncul. Anehnya, menggunakan browser yang sama—Chrome, Opera, Edge, misalnya—di Mac menampilkan pesan HELLO WORLD. Meskipun kami tidak dapat memastikannya, ini menunjukkan bahwa aplikasi browser yang ditulis untuk App Store menggunakan pustaka gambar render PNG Apple sedangkan browser yang diunduh sebagai program di macOS menggunakan pengurai PNG mereka sendiri.
Apa pun masalahnya, jika Anda ingin bersenang-senang, Buchanan memposting alat bernama 'Ambiguous PNG Packer' yang memungkinkan siapa pun membuat gambar yang terlihat berbeda saat dijalankan melalui perangkat lunak Apple. Namun, kami harus berhati-hati bahwa penyimpangan dalam penguraian file gambar ini dapat menjadi masalah keamanan, dan sesuatu yang menurut Buchanan "perlu didekati dengan hati-hati".
Perbarui pada 1:30p ET: Awalnya kami menerbitkan artikel ini dengan foto tersemat. Sayangnya, CMS kami cukup mengubah file untuk memecahkan ilusi. Kami telah memperbarui artikel dengan tautan yang akan membawa Anda ke foto yang akan terlihat berbeda di Apple vs. platform lain.
melalui BleepingComputer