Craft PNG files that appear completely different in Apple software

Overview

Ambiguous PNG Packer

Craft PNG files that appear completely different in Apple software

For context: https://www.da.vidbuchanan.co.uk/widgets/pngdiff/

Sample output:

sample image

If you're viewing this via Apple software (e.g. Safari) you should see an image of a mac, and on other non-Apple software, you should see an IBM PC. (Note: If you're in Safari and still seeing the IBM PC, hit refresh a few times...)

As a bonus, here's a race condition I found in desktop macOS Safari:

race condition

You should see a slightly different image on each page refresh!

Here's a "live" version, which self-refreshes on each frame: https://www.da.vidbuchanan.co.uk/widgets/pngdiff/race.html

You might also like...
A proof-of-concept implementation of a parallel-decodable PNG format
A proof-of-concept implementation of a parallel-decodable PNG format

mtpng A parallelized PNG encoder in Rust by Brion Vibber [email protected] Background Compressing PNG files is a relatively slow operation at large imag

With this simple py script you will be able to get all the .png from a folder and generate a yml for Oraxen

Oraxen-item-to-yml With this simple py script you will be able to get all the .png from a folder and generate a yml for Oraxen How to use Install the

Find target hash collisions for Apple's NeuralHash perceptual hash function.💣
Find target hash collisions for Apple's NeuralHash perceptual hash function.💣

neural-hash-collider Find target hash collisions for Apple's NeuralHash perceptual hash function. For example, starting from a picture of this cat, we

Simple AI app that is guessing color of apple in picture

Apple Color Determinant Application that is guessing color of apple from image Install Pillow, sklearn and numpy, using command for your package manag

Generate different types of random avatars.
Generate different types of random avatars.

avatar-generator Generate different types of random avatars. Requirements Python3 pytorch=1.6 cv2=3.4 tqdm 1. Github-like avatars python generate_gi

3D Reconstruction Software
3D Reconstruction Software

Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision Photogrammetric Computer Vision framework. Learn more details abou

Open source software for image correlation, distance and analysis
Open source software for image correlation, distance and analysis

Douglas-Quaid Project Open source software for image correlation, distance and analysis. Strongly related to : Carl-Hauser Problem statement (@CIRCL)

Viewer for NFO files

NFO Viewer NFO Viewer is a simple viewer for NFO files, which are "ASCII" art in the CP437 codepage. The advantages of using NFO Viewer instead of a t

An esoteric visual language that takes image files as input based on a multi-tape turing machine, designed for compatibility with C.
An esoteric visual language that takes image files as input based on a multi-tape turing machine, designed for compatibility with C.

vizh An esoteric visual language that takes image files as input based on a multi-tape turing machine, designed for compatibility with C. Overview Her

Comments
  • Restore to original images

    Restore to original images

    Hi @DavidBuchanan314 : Thank you for providing such an interesting project. Now there is a question. How to restore the ambiguous png to original images? Or some way to display the "apple image" on another(no-apple device) platform?

    opened by Mhuang77 1
  • fails on my pictures

    fails on my pictures

    $ python pack.py 1.png 2.png out.png
    Traceback (most recent call last):
      File "pack.py", line 186, in <module>
        main(*sys.argv[1:4])
      File "pack.py", line 120, in main
        b += acomp
    TypeError: can't concat bool to bytes
    

    The example runs fine on windows, but it fails to run with other pictures. Are there any special requirements for pictures?

    opened by dicarne 3
  • Large amount of artifacting in images.

    Large amount of artifacting in images.

    It seems if the input images are fairly detailed the output image ends up with a lot of artifacting, nearly to the point of destroying the image depending on the input. Is this a side effect of the exploit or a bug / something on my end? I notice your example images have some artifacting, but not nearly as much as I'm seeing output2 .

    opened by Dovvah 1
Owner
David Buchanan
a.k.a Retr0id
David Buchanan
Pyconvert is a python script that you can use to convert image files to another image format! (eg. PNG to ICO)

Pyconvert is a python script that you can use to convert image files to another image format! (eg. PNG to ICO)

null 1 Jan 16, 2022
Repair broken bookmarks to referenced files in Apple Photos

Repair Apple Photos Bookmarks Work in progress to repair file location bookmarks in Apple Photos. Background Starting in macOS 10.15/Catalina, photos

Rhet Turnbull 10 Nov 3, 2022
Transfers a image file(.png) to an Excel file(.xlsx)

Transfers a image file(.png) to an Excel file(.xlsx)

Junu Kwon 7 Feb 11, 2022
An API that renders HTML/CSS content to PNG using Chromium

html_png An API that renders HTML/CSS content to PNG using Chromium Disclaimer I am not responsible if you happen to make your own instance of this AP

null 10 Aug 8, 2022
Convert the SVG code to PNG and replace the line by a call to the image in markdown

Convert the SVG code to PNG and replace the line by a call to the image in markdown

null 6 Sep 6, 2022
Fast batch image resizer and rotator for JPEG and PNG images.

imgp is a command line image resizer and rotator for JPEG and PNG images.

Terminator X 921 Dec 25, 2022
A simple programme for converting url into a qr code (.png file)

QrTk A simple lightweight programme for converting url into a qr code (.png file) Pre-Requisites Before installing the programme , you need to run the

Juss Patel 4 Nov 8, 2021
A little Python tool to convert a TrueType (ttf/otf) font into a PNG for use in demos.

font2png A little Python tool to convert a TrueType (ttf/otf) font into a PNG for use in demos. To use from command line it expects python3 to be at /

Rich Elmes 3 Dec 22, 2021
Typesheet is a tiny Python script for creating transparent PNG spritesheets from TrueType (.ttf) fonts.

typesheet typesheet is a tiny Python script for creating transparent PNG spritesheets from TrueType (.ttf) fonts. I made it because I couldn't find an

Grayson Chao 12 Dec 23, 2022
Png2Jpg tool will help you convert from png image format to jpg images format.

PNG 2 JPG All codes assume running from root directory. Please update the sys path at the beginning of the codes before running. Over View Png2Jpg too

Nguyễn Trường Lâu 2 Dec 27, 2021