Cześć Wykopki,
Na pewno duża część z Was ma własne cztery kółka, a zatem często w swoim portfelu trzyma dowód rejestracyjny. Być może niektórzy zauważyli w nich tajemniczy kod dwuwymiarowy przypominający popularne kody QR. Czy zastanawialiście się jednak do czego służy?
Dla lepszego zobrazowania wzór dowodu:
![](https://www.wykop.pl/cdn/c0834752/01zlQni_VlsGSJRORReUrg6UQrXxRZ0MMhwVpDjY,wat600.jpg?author=v3l0c1r4pt0r&auth=913d657dc62eff6d39b97edc7d4924cc)
źródło: pwpw.pl
Kod w lewym dolnym rogu.
tl;dr:
Pod tym adresem znajdziecie kod deszyfratora i opis kolejnych kroków potrzebnych do wyciągnięcia danych (uwaga: opis po angielsku, jakoś lepiej pisze mi się w nim takie bardzo techniczne opisy, za co wszystkich przepraszam).
No cóż. Ja się zastanowiłem. A było to mniej więcej rok temu, przy okazji wprowadzenia przez ministerstwo usługi HistoriaPojazdu.gov.pl. Zajmowałem się wtedy aplikacją androidową, która miała ułatwić korzystanie z tego serwisu. Nie do końca wyszło, ale to zupełnie inna historia. Wpadłem jednak wtedy na pomysł, żeby dane do owej aplikacji można było wprowadzić w sposób zautomatyzowany. Znajdujący się obok pasek OCR-B (ten z charakterystycznymi znakami mniejszości jako wypełnienie) nie spełnił moich wymagań, więc idealnym kandydatem wydał się właśnie owy kod 2D.
Krótki research w Google pokazał jednak, że tak naprawdę nikt nie wie jak to ustrojstwo rozkodować. Dowiedziałem się tyle, że owy kod zwie się kodem Aztec, znalazłem skaner na smartfona i tyle. Próbowałem przejść dalej na wszystkie możliwe sposoby: ręczne dekodowanie, szukanie wszelkich wskazówek w necie, po czym doszedłem, że kod ten jest najprawdopodobniej kompresją bezstratną, nauka algorytmów kompresji, ściąganie nawet najbardziej egzotycznych dekompresorów i nic. Ostatecznie miałem pewną teorię co do formatu zapisu, ale mimo to nie byłem w stanie odgadnąć całego algorytmu. Poddałem się.
Niecały rok później, a więc ok. miesiąc temu spróbowałem raz jeszcze. Tym razem udało mi się znaleźć program, który lokalnie dekompresował te dane. Po paru(nastu) wieczorach reverse engineeringu z dekompilatorem i debuggerem byłem w stanie prawidłowo odtworzyć cały proces. Owocem tego jest aplikacja pod linkiem powyżej.
Z całej tej historii najciekawsze jednak jest to, że pomimo tego, że kod Aztec zaczął być stosowany w końcówce roku 2004, a więc już ponad 10 lat temu, ciągle jest on wykorzystywany sporadycznie. Dopiero ostatnie lata zdają się nieco tą sytuację zmieniać. Nie jest to niestety taka zmiana jaka powinna następować. W tej chwili dekodery są oferowane przez zaledwie kilka firm. Większość z nich oferuje je jako część całych pakietów przeznaczonych dla konkretnych odbiorców i każe słono za tę przyjemność sobie zapłacić. Zdarzają się też aplikacje darmowe, jednak po zbadaniu wszystkich, każda z nich wymagała wysłania zakodowanych danych na serwer producenta. A takie coś jest według mnie całkowicie niedopuszczalne. Dowód rejestracyjny a zatem też ów kod zawiera tak ważne dane jak PESEL czy adres zamieszkania, że przynajmniej dla mnie nie ma takiej opcji, żeby przekazać je firmie, która zrobi z nimi tak naprawdę co tylko zechce.
Dlatego też napisałem ten, przydługi może już artykuł. Mam nadzieję, że dzięki temu, niezależnie czy Wam się spodoba czy nie, czy trafi na główną czy też nie, wiedza o tym jak rozkodować dane z dowodu dotrze do wystarczającej liczby zainteresowanych osób i pozwoli na opracowanie przez nich darmowych wersji usług, za które teraz niesłusznie trzeba słono zapłacić i przerwie niepisaną symbiozę państwa, które stworzyło to ustrojstwo za nasze pieniądze z prywatnymi firmami, które, zapewne za drobną opłatą wykupują teraz know-how od państwa i zbijają na tym niemałe pieniądze. Liczę, że dlatego docenicie ten mój skromny wkład w przywrócenie normalności.
Z pozdrowieniami,
v3l0c1r4pt0r
Komentarze (213)
najstarsze
Tu grammarnazi: pisze się ów kod
Komentarz usunięty przez moderatora
Napisałem: