Oto, jak można w sprytny sposób odczytać rozpikselowany tekst

Oto, jak można w sprytny sposób odczytać rozpikselowany tekst

Oto, jak można w sprytny sposób odczytać rozpikselowany tekst
Piotr Urbaniak
08.12.2020 06:29

Gdzie człowiek nie może, tam pośle algorytm. Tak oto pikselizacja tekstu jako efektywne zabezpieczenie przed oczytaniem odchodzi właśnie do lamusa.

Pikselizacja, czyli deformacja obrazu rastrowego poprzez widoczne obniżenie szczegółowości, to powszechnie znane narzędzie cenzury. Zwłaszcza w epoce internetu, gdy publikuje się w formacie cyfrowym cały szereg dokumentów wymagających częściowego ukrycia przedstawionych informacji. Ot, choćby danych osobowych.

Jak działa? Obraz wyświetlany na ekranie składa się z milionów pikseli, przez co należy rozumieć najmniejsze i niepodzielne składowe. W wyniku pikselizacji kolor pikseli w obrębie ich kolejnych skupisk zostaje uśredniony, co przy odpowiednio rzadkim rozmieszczeniu tychże skupisk uniemożliwia odczytanie treści. To proste, a wręcz prymitywne rozwiązanie. Ale skoro skuteczne, nie było przecież sensu nad nim debatować.

fot. LinkedIn (Sipke Mellema)
fot. LinkedIn (Sipke Mellema)

Efekt pikselizacji jako narzędzie cenzury ma jednakowoż oczywistą wadę: jest powtarzalny. Jeśli użyjemy klasycznego filtra liniowego i tych samych nastaw precyzji, to dana czcionka w konkretnym rozmiarze i kolorze zawsze zostanie zdeformowana w ten sam sposób.

Nie stanowi to problemu, gdy rozmazany zostaje cały dokument, ale już w przypadku pojedynczych słów sprawy się mają inaczej. Potencjalny napastnik jest bowiem w stanie rozpoznać charakterystykę czcionki. I na ten właśnie aspekt uwagę zwrócił programista Sipke Mellema, który przygotował narzędzie do odczytywania rozpikselowanego tekstu.

fot. LinkedIn (Sipke Mellema)
fot. LinkedIn (Sipke Mellema)

Depix, jak nazwano program, został stworzony w Pythonie i stanowi rodzaj algorytmu porównywania. Z jednej strony przyjmuje zamazany dokument, z drugiej zaś – próbkę oczekiwanej czcionki przedstawionej poprzez cykl de Bruijna. Analizując kolejne grupy pikseli, szuka zgodności pomiędzy stylem rozmycia, a tym jak ewentualnie wyglądałyby kombinacje dwuliterowe po rozmyciu w pliku źródłowym. Ostatecznie zwraca czytelny tekst.

Oczywiście takie rozwiązanie ma swoje niedoskonałości, i to liczne. Nie zadziała na niejednolitych tłach ani w przypadku innych niż pikselizacja rodzajów deformacji, np. rozmycia za pomocą filtru Gaussa. Tak czy inaczej, stanowi pewien postęp w dziedzinie technik OSINT. Więcej informacji o Depiksie, jak również sam program znajdziecie na GitHubie.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (7)