Измените .png на .mp3, и заиграет музыка. Новый скрипт на GitHub маскирует файлы под картинки
Программист Дэвид Бьюкенен (David Buchanan) создал на GitHub репозиторий tweetable-polyglot-png, содержащий исходный код скрипта для встраивания любых файлов в PNG-изображение (с некоторыми ограничениями), которое можно опубликовать в Twitter. Он демонстрирует работу этого решения максимально наглядно: выставляет в своём аккаунте изображения с зашифрованными файлами — если скачать эти картинки и изменить их разрешение на указанное, они «превратятся» в полностью рабочие файлы.
I found a way to stuff up to ~3MB of data inside a PNG file on twitter. This is even better than my previous JPEG ICC technique, since the inserted data is contiguous.
The source code is available in the ZIP/PNG file attached: pic.twitter.com/zEOl2zJYRC
— Dаvіd Вucһаnаn (@David3141593) March 17, 2021
Если скачать эту картинку и вручную сменить разрешение .png на .zip, а затем разархивировать файл, то создастся папка с исходным кодом скрипта.
Маскирующие в себе файлы изображения действительно являются изображениями — они открываются в файловых менеджерах и загружаются в системе. Иными словами, это самые настоящие картинки, а не сломанные файлы с разрешением .png.
Download this one, rename to .mp3, and open in VLC for a surprise. (Note: make sure you download the full resolution version of the file, should be 2048x2048px) pic.twitter.com/x2J88xkBhd
— Dаvіd Вucһаnаn (@David3141593) March 17, 2021
Если скачать эту картинку и вручную сменить разрешение .png на .mp3, а затем открыть файл, то заиграет известная композиция Рика Эстли
Подобные скрипты — не новое решение. Несколько лет назад файлы типа Polyglot стали довольно известными в мире IT. Метод Дэвида Бьюкенена выделяется на фоне других прежде всего тем, что изображения для маскировки других файлов можно публиковать в Twitter — они будут отображаться как стандартные картинки, а целостность их «содержания» не нарушится. Однако у скрипта есть ограничения: вес итогового изображения не должен превышать 3 МБ, иначе Twitter переконвертирует PNG-картинку в JPEG, и ничего не выйдет.
Чем обрабатывают улицы и дома при коронавирусе?
Больше конфиденциальности: Google будет автоматически удалять данные об активности пользователей
Vivo дарит покупателям своих смартфонов сертификаты Lamoda и дает скидку в 30% на второе устройство
Почему в Германии так мало смертей от коронавируса?
Предварительное решение суда: Unreal Engine останется в App Store, а Fortnite — нет