Pull to refresh

Comments 34

Интересная технология. Было такое ощущение, что вся эта пикселизация имеет уязвимость. Так и оказалось. Так что только хардкор — только солид колор.
UFO just landed and posted this here

Я даже в *.bmp с заливкой отправляю не исходник, а скриншот с него )

Сфотографировать на телефон сразу, чего уж мелочиться?)

После того как мне самому пару раз такое присылали, мне такое совесть не позволит сделать.
Особенно после того как, как раз прислали пароль с запятой в конце, которая на фото разпикселизировалась до незамечаемого состояния.
Школьные учителя присылают детям ссылки в виде фотографии. Упорно их пытаемся к QR приучить хотя-бы раз, нравится картинки слать :)
Главное, при сохранении не забыть перегенерировать thumbnail в EXIF и прочих метаданных.
UFO just landed and posted this here
Номер карты — 16 цифр.
6 — идентификатор банка, 1 — контрольный разряд.
Остается 9 знаков, итого 1 млрд вариантов.
Умножаем на варианты пикселизации.
Довольно дорого получается.
А если вдруг не знаем какой банк, то совсем грустно.

Не. Пикселизация локальна. Достаточно 100-1000 вариантов перебрать, чтобы определить первую цифру. Потом 100-1000 на вторую. В итоге получится не 1 млрд, а 9000. В статье это есть.

Локальна — при совпадении ширины символов и шага пикселизации.
;)
всегда локальна. Если совпадает — достаточно 10 вариантов перебрать. Если шаг закрывает 2-3 символа, то 100-1000 вариантов. Но это не криптохэш, тут нет такого, чтоб на каждую точку результата влияли все цифры номера. Всегда только несколько ближайших цифр влияют.
10 (и их следствие в 100-1000) вариантов — это идеальный случай: два цвета, выверенная геометрия, одинаковая длина и ширина символов.

Сейчас поигрался немного, строка из одинаковых символов дает разные пиксели для разных позиций. И это без применения геометрических искажений, добавления цветов, фотографирования и прочего, что вносит свои возмущения.

зы
там еще ниже про субпиксели пишут.
на хабре лет десять назад была презентована отечественная программа деблюринга текста на примере номеров машин, не?
Paste a De Bruijn sequence with expected characters in an editor with the same font settings (text size, font, color, hsl).

Рассчет я так понимаю на то, что шрифт и все остальное совпадает с непиксилизированным текстом, а разные алгоритмы пикселизации все-равно должны выдать что-то близкое, так?
На практике результаты, пока что, не очень (судя по вопросам пользователей на гитхабе).

Ну, в примере используется банковский чек. Для него несложно точно определить шрифт. Меня больше беспокоит, что, если это фото — будут слабопредсказуемые искажения геометрии и цвета. Но, всё равно, я думаю, можно выбрать ряд вариантов с наименьшими расстояниями и сбрутить их.

Если у нас кроме размытой области есть не размытые — мы можем их использоваться чтобы определить(и ревертировать) искажения.
UFO just landed and posted this here

К тому времени как Яндекс испортят, у нас будет время создать что то похожее :)

UFO just landed and posted this here
Гхм. Я из изображений лишнюю информацию тупо удаляю — вот прямо в пейнте «выделить»-«вырезать».
Где статья на хабре, как умный интеллект там у меня пароли восстановит?
Главное — делать в пеинте.
А то был опыт — видел «отредактированные» psd…
Чуть не цитата какого-то мохнатого года на баше про подобный опыт:)
UFO just landed and posted this here
Когда-то делал для клиента распознавание надписей с субпиксельным рендерингом — мне хватило три набора символов, сдвинутых относительно друг друга на 1/3 пикселя. Сравнивал я их в оттенках серого.
Сделал self-hosted Telegram бота для быстрого и более удобного использования описанного в статье инструмента. Бот не рассчитан на массовое использование пользователями, но идеально подходит для личного.

Исходный код: github.com/MarshalX/DepixToolBot
Для удобства библиотеку опубликовал на PyPi: pypi.org/project/depix

Чтобы использовать из терминала:
pip3 install depix
depix [-h] -p PIXELIMAGE -s SEARCHIMAGE [-o [OUTPUTIMAGE]]
Такими темпами скоро будут и файлы из хэша восстанавливать!
Я уже какое-то время назад задумывался, нельзя ли создать, например, инструменты для восстановления исходных текстов программ на основе имеющихся бинарников и использования технологий ИИ и эвристических алгоритмов, с тем чтобы раз за разом генерировались такие исходники, которые, будучи последовательно скомпилированными, всё более приближались к исходному бинарному виду — вплоть до полной их идентичности? Это же могло бы произвести революцию в реверс-инжиниринге!
UFO just landed and posted this here

Что ж, пойду удалять запикселенные фото, хотя вряд ли это поможет :)

Простой тест — взять часть текста debruinseq_notepad_Windows10_closeAndSpaced.png, запикселить его (онлайн pixelate-effect-image, хотя бы с коэффициентом 2) и попробовать восстановить.


У меня результат совершенно не такой хороший, как с подготовленными тестами из примеров на GitHub.

Sign up to leave a comment.