iPhone&MacとAndroid&Windowsなどで見え方が異なるPNG画像がある
iPhoneやiPad、MacなどのApple製品と、AndroidやWindowsといったOSを搭載した非Apple製品で見え方が異なるPNG画像を、技術者のデヴィッド・ブキャナン氏が生み出して公開しています。
PNG Parser Differential
https://www.da.vidbuchanan.co.uk/widgets/pngdiff/
ブキャナン氏が示しているのは何の変哲もない文字が書かれただけの画像。しかし、画像には仕掛けが施されており、iPhoneなどで見ると「HELLO APPLE」と書かれているのですが、AndroidやWindows搭載端末で見ると「HELLO WORLD」となります。
実際にPixelとiPhoneで同じ画像を見比べるとこんな感じ。
ブキャナン氏はマルチスレッドPNGデコーダーを自作していて、この事象に気づいたとのこと。原因はApple製のPNGデコーダーにあるとのことで、ブキャナン氏はこのバグを応用して、Apple端末とそれ以外の端末で別の画像が表示されるツールを制作しています。
GitHub - DavidBuchanan314/ambiguous-png-packer: Craft PNG files that appear completely different in Apple software
https://github.com/DavidBuchanan314/ambiguous-png-packer
実際にツールで作られた画像も公開されています。非Apple端末ではIBM PCの画像、Apple端末ではMacの画像が表示されます。
・関連記事
Twitterに「画像に見せかけてZIPファイルを投稿する方法」が発見される - GIGAZINE
PNG画像を最大50倍高速にエンコード可能なライブラリ「QOI」が登場したので使ってみた - GIGAZINE
Androidデバイスに「PNG画像を見るだけでハッキングされてしまう脆弱性」があると判明 - GIGAZINE
JPEG画像をさらに10%圧縮してページ表示を高速化する「mozjpeg」 - GIGAZINE
・関連コンテンツ