victorgr ([info]victorgr) wrote,
@ 2008-05-06 12:46:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:dev, webdev

JavaScript Steganography
Многие разработчики активно обсуждают интересный способ сжатия JavaScript-файлов, придуманный Jacob Seidelin. Кратко, способ заключается вот в чём: JavaScript кодируется в PNG-картинку. Каждый пиксел PNG-8 может закодировать 1 байт, а PNG-24 — целых 3 байта. На целевую страницу вставляется сама картинка и небольшой скриптик, который эту картинку будет обрабатывать. С помощью элемента Canvas, этот скрипт попиксельно проходится по загруженной картинке и декодирует из неё JavaScript.

Смысл всего этого действа в том, что PNG-сжатие для картинки превосходит GZIP-сжатие, которым можно сжать .js-файлы. По крайней мере так предполагается.

Конечно, вряд ли можно считать это готовым решением, но как интересный proof of concept годится.

Однако я в этом сразу же увидел несколько иное применение: стеганография! Теперь, когда у JavaScript-а на странице есть возможность попиксельного анализа изображения, то никаких препятсвий для этого нет :).

Зачем инструмент стеганографии на веб-странице? А зачем он на локальном компьютере? Для тех же целей.



(Post a new comment)


[info]aliaksei
2008-05-06 09:53 am UTC (link)
Лениво читать, а есть ли уже реализация?

(Reply to this)(Thread)


[info]victorgr
2008-05-06 09:58 am UTC (link)
Стеганографии не нашёл, а сжатия - да.

Автор приводитдаже сравнение сжатия gzip и png.

Вот тут по-русски: http://bolknote.ru/2008/05/05/~1694

(Reply to this)(Parent)(Thread)


[info]aliaksei
2008-05-06 10:05 am UTC (link)
Хм.. Надо будет обдумать. Заодно javascript подучу.

А как ты видишь практическую сторону применения?

(Reply to this)(Parent)(Thread)


[info]victorgr
2008-05-06 10:09 am UTC (link)
Применения чего? Стеганографии?

Да те же, что и вне-JS: сокрытие данных в изображениях и сокрытие самого факта сокрытия.

Можно внедрять в изображения копирайты.

Можно просто web2.0-сервис по online-стеганографии придумать.

Только вот в IE не работает: там canvas нету.

(Reply to this)(Parent)(Thread)


[info]aliaksei
2008-05-06 10:14 am UTC (link)
Применения стеганографии в контексте жабаскрипта. Для чего ее применяют вне я знаю.

Внедрить копирайт в png можно и перед закачкой на сайт. Скрыть информацию в нем же тоже.

(Reply to this)(Parent)(Thread)


[info]victorgr
2008-05-06 10:18 am UTC (link)
Так всё можно сделать без веба и без JS.

(Reply to this)(Parent)


[info]pmus
2008-05-06 10:33 pm UTC (link)
редкостный изврат. остроумно, но не более.

при условии наличия скрипта-декомпрессора всё остальное можно жать и представлять как угодно, хоть байткодом.

(Reply to this)


[info]evil_invader
2008-05-10 07:40 am UTC (link)
стеганография работает и с программным кодом. У меня курсовая вот по водяным знакам. Есть интересные способы внедрения скрытой информации в граф потока управления.

(Reply to this)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…