Li

verify-tag图片转换工具

图片改后缀转换工具

2.9

已售 0
5.07KB

数据标识:D17441799620083505

发布时间:2025/04/09

以下为卖家选择提供的数据验证报告:

数据描述

明明下载的是一张图片,只需修改后缀名,图片就变成了一首歌,一串代码。

Pack up to 3MB of data into a tweetable PNG polyglot file.

See it in action here: https://twitter.com/David3141593/status/1371974874856587268

image

Other image hosts I've verified this technique to work on:

Image hosts I've confirmed it doesn't work on:

  • Reddit (Perhaps it could be made to work by embedding data within the DEFLATE stream, rather than appending?)

How?

Twitter strips unnecessary data from PNG uploads, however, they do not strip trailing data from the DEFLATE stream inside the IDAT chunk, provided that the overall image file meets the requirements to avoid being re-encoded.

Why?

Dunno.

Cover image requirements

The cover image must compress well, such that the compressed filesize is less than . If the cover image does not have a palette, then it must have at least 257 unique colours (otherwise twitter will optimise it to use a palette).(width * height) - size_of_embedded_file

The resolution can be up to 4096x4096, however, be aware that twitter will serve a downscaled version by default, for images greater than 680x680 (depending on your display DPI, etc.).

The image should not have any unecessary metadata chunks. I used these export settings in GIMP:

image

Embedded file requirements

The total output file size must be less than 3MB (maybe 5MB?), otherwise twitter will convert the PNG to a JPEG.

If the embedded file is a , then the offsets are automatically adjusted so that the overall file is still a valid zip. For any other file formats, you're on your own (many will work without any special handling, notably , )..zip.pdf.mp3

data icon
图片转换工具
2.9
已售 0
5.07KB
申请报告