Wniosek o wydanie wtórnika dowodu rejestracyjnego możesz pobrać ze strony urzędu, w trybie online, lub wypełnić właściwy druk na miejscu. W piśmie podajesz najważniejsze informacje: dane właściciela czy współwłaścicieli pojazdu, informacje o swoim aucie – numer rejestracyjny, numer VIN, marka i model, powód ubiegania się o Profesjonalny, bezprzewodowy czytnik kodów 2D HD-SL96 Bezprzewodowy czytnik kodów HD-SL96 wykonany zostat z wysokiej jakoéci materialów, gwarantujqcych bezproblemowq i przyjemnq prace. Zaawansowany uk\ad skanujqcy pozwala na odczyt kodów ID oraz 2D, w tym kodu AZTEC z dowodu rejestracyjnego. Kim-Tech Bluetooth I 2.4G Bezprzewodowy Skaner Kodów Ocr Z Dokumentów Tożsamości Dowodu Rejestracyjnego Auta - Opis i dane produktu Bluetooth i 2.4G Bezprzewodowy i przewodowy (3 w 1) skaner kodów OCR z dokumentów tożsamości takich jak paszport czy dowód osobisty dodatkowo nie ma problemu ze skanowanie kodów OCR z dowodu Pamięć wewnętrzna pozwala na zapis do kilku tysięcy odczytanych kodów, celem późniejszego przesłania ich na komputer. Model HD44 pozwala na bezproblemowy odczyt wiodących kodów 1D oraz kodów odwróconych z prędkością 200 skanów na sekundę. Użytkownik o pozytywnym skanowaniu informowany jest sygnałem świetlnym oraz dźwiękowym. Poniższy film przedstawia jak prawidłowo należy ustawić dowód rejestracyjny tak żeby odczytać z niego kod AZTEC przy pomocy czytnika HD290 dostępnego w sklep Sprawdź nasz dekoder. Nasz serwis pobiera informacje ze specjalnie stworzonego systemu ekspertowego. Po wprowadzeniu numeru VIN do systemu, otrzymasz wstępne rozpoznanie Twojego samochodu. Jeśli rozpoznanie zostało przeprowadzone prawidłowo, możesz przejść do kolejnego etapu. Znajdziesz w nim dostępne raporty na temat Twojego auta. lm9J. … czyli opowieść o tym, jak z publicznych pieniędzy stworzono zamknięte rozwiązanie i źródło zarobku kilku prywatnych firm, bo ustawa nie mówiła, że tak nie wolno. Podczas projektowania dowodów rejestracyjnych w 2004 roku, ustawodawca przewidział umieszczenie na nich kodu 2D, który pozwoli w prosty sposób przenieść dane „do komputera”. Polska Wytwórnia Papierów Wartościowych zrealizowała pomysł w dość niestandardowy sposób i… kazała płacić abonament za możliwość automatycznego sczytywania informacji z dowodów. W tym artykule zbieramy dotychczas dostępne informacje wraz z archiwalnymi pismami dostarczonymi przez różne strony w wyniku „boksowania się” z PWPW. Udostępniamy również informacje o faktycznej implementacji kodu oraz pierwszą otwartoźródłową aplikację na Androida, która pozwala na skanowanie dowodów rejestracyjnych. Od kilku lat każdy zmotoryzowany obywatel Polski posiada dowód rejestracyjny pojazdu wyposażony w charakterystyczny element. Jest to tak zwany kod AZTEC, będący zapisem cyfrowym wszystkich informacji zawartych w dokumencie. Cel wprowadzenia takiego rozwiązania był szczytny, bo miał uprościć pracę stacji kontroli pojazdów i ubezpieczycieli. Wystarczy przygotować moduł, który automatycznie wprowadzi zeskanowane dane do firmowej bazy i w ten sposób ekspresowo przejść do załatwiania sprawy. Obowiązujący wzór dowodu rejestracyjnego. W lewym dolnym rogu znajduje się wspomniany AZTEC. No to gdzie jest haczyk? Mniej więcej w zwrocie “wystarczy przygotować moduł”. Symbol faktycznie jest zgodny ze specyfikacją AZTEC, ale znajdujące się w nim dane są zakodowane bliżej nieokreślonym algorytmem. Reasumując: kod jest, jakieś dane w nim są, ale nikt nie wie, w jaki sposób te informacje wydobyć. “Kod Aztec, czyli jak celowo utrudnić sobie życie” Sprawę już w maju 2014 roku poruszył dziennikarz TVN Turbo Tomasz Bodył. W swoim artykule na portalu motoryzacyjnym Interii zastanawiał się on, dlaczego pomimo upływu wielu lat od wprowadzenia AZTEC-a nadal nie jest on powszechnie używany choćby przez drogówkę: Kontrola drogowa. Oczywiście, jak każdemu z nas, bardzo mi zależy na ułatwieniu życia policjantom. Czy zatem zamiast mozolnie przepisywać dane samochodu do swoich kajecików nie mogliby zeskanować kodu? Dziennikarz zauważył również słabe wykorzystanie kodów wśród innych organizacji, które mogłyby być zainteresowane automatycznym odczytem informacji: Po długich dociekaniach dowiedziałem się, że podobno korzystają z niego niektórzy ubezpieczyciele (ja u takiego jeszcze nie byłem), jakaś bardzo mała część stacji kontroli pojazdów (nie spotkałem się) i niektórzy dealerzy. Słabe wykorzystanie AZTEC-ów wynika z pewnych trudności implementacyjnych, które dla wielu programistów okazały się nie do przeskoczenia. Mianowicie nie istnieje żaden oficjalny i publicznie dostępny dokument, który wyjaśniłby, w jaki sposób informacje zostały zakodowane. Techniczne wyjaśnienie problemu Poniżej prezentujemy konkretne wyjaśnienie sytuacji dla osób technicznych. Uspokajamy, że z punktu widzenia artykułu tę sekcję można bezpiecznie pominąć. Problem z punktu widzenia typowego programisty wygląda następująco: Skanujemy kod za pomocą skanera AZTEC (np. ten znajdujący się na wzorze dowodu rejestracyjnego) i otrzymujemy następujące dane: BgQAANtYAAJDAPkxAHwAQXIw7zcGNN4ANiox+w81HrUGOP8eUABSAEUA+1oAWQBEDv9OAFQAIABN3wAuClMAvlQPV/eKUhq9Wg5X7k58UtcWSVq9TF5J79pBZ+5PAEsG12bTSm5GVQBM/ntSAEH7L1dj+0MAS1vvMvovewo3Ut4wDi39HjEAN6Pbl0FNe3YgPt5Q3kv3IlSevVnX1z9FMmuCShL2WgBaG9umKADvSAApJnx75k+itwZMAEx9X0rvbkSOTXtOOF/DRy0WOW53fPYLFoMzLr0xAi3DGnevLQOCfJ/vQZ5TcBZrN0oa9k4AfA82Q4QaDzj3q8deN6sN7zIE/1x8lbMnQdwBQi5ZT86jL2tqNAr2MwAw34xSH+uPSVPYFxZThBMzON8AMJM5wQA3MwRcMX7bNcET2jInwyedE01HZ4dlM94qKy0DL38fNgAqeBszSxOvNIeKfHM7fCLxNQAwVkMtdzl7Xiw/YMyrFzxQACBWw+Hza7c3C93/NWuHg1OWRquPQ5KP02K9IBZT4QZC9oNZU7aXFiOX83U4ADJFC7ADhrNVCyOW8w9qMbEnZhdHbHxjdjIT7E4DW0M3OQuGaxYmCSSSSSr/ Dekodujemy algorytmem Base64 i otrzymujemy następujące dane: $ base64 -d | xxd 00000000: 0604 0000 db58 0002 4300 f931 007c 0041 .....X..C..1.|.A 00000010: 7230 ef37 0634 de00 362a 31fb 0f35 1eb5 00000020: 0638 ff1e 5000 5200 4500 fb5a 0059 0044 .8.. 00000030: 0eff 4e00 5400 2000 4ddf 002e 0a53 00be .. .M....S.. 00000040: 540f 57f7 8a52 1abd 5a0e 57ee 4e7c 52d7 00000050: 1649 5abd 4c5e 49ef da41 67ee 4f00 4b06 . 00000060: d766 d34a 6e46 5500 4cfe 7b52 0041 fb2f . 00000070: 5763 fb43 004b 5bef 32fa 2f7b 0a37 52de 00000080: 300e 2dfd 1e31 0037 a3db 9741 4d7b 7620 00000090: 3ede 50de 4bf7 2254 9ebd 59d7 d73f 4532 >. 000000a0: 6b82 4a12 f65a 005a 1bdb a628 00ef 4800 000000b0: 2926 7c7b e64f a2b7 064c 004c 7d5f 4aef )&|{.O... 000000c0: 6e44 8e4d 7b4e 385f c347 2d16 396e 777c 000000d0: f60b 1683 332e bd31 022d c31a 77af 2d03 ....3.. 000000e0: 827c 9fef 419e 5370 166b 374a 1af6 4e00 .|.. 000000f0: 7c0f 3643 841a 0f38 f7ab c75e 37ab 0def |.6C...8...^7... 00000100: 3204 ff5c 7c95 b327 41dc 0142 2e59 4fce 2..\|..'A.. 00000110: a32f 6b6a 340a f633 0030 df8c 521f eb8f ./kj4.. 00000120: 4953 d817 1653 8413 3338 df00 3093 39c1 IS...S..38.. 00000130: 0037 3304 5c31 7edb 35c1 13da 3227 c327 .73.\1~.5...2'.' 00000140: 9d13 4d47 6787 6533 de2a 2b2d 032f 7f1f .. 00000150: 3600 2a78 1b33 4b13 af34 878a 7c73 3b7c 6.* 00000160: 22f1 3500 3056 432d 7739 7b5e 2c3f 60cc ". 00000170: ab17 3c50 0020 56c3 e1f3 6bb7 370b ddff .. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ #include #include #include #define MAX_BUFFER 10240 int main () { unsigned char input[MAX_BUFFER], output[MAX_BUFFER]; ucl_uint sizein, sizeout; if (!(sizein = fread(input, 1, sizeof input, stdin))) { fprintf(stderr, "Cannot read file\n"); exit(1); } ucl_nrv2e_decompress_8(input + 4, sizein - 4, output, &sizeout, NULL); if (!(fwrite(output, 1, sizeout, stdout))) { fprintf(stderr, "Cannot write file\n"); exit(1); } return 0; } Kod, wobec którego właściciel firmy PELock LLC zgłosił DMCA Nie jest trudno stwierdzić, że zamieszczony powyżej kod jest trywialny, a biblioteka UCL raczej nie została opracowana ani przez PWPW, ani przez firmę PELock LLC. Komentarz prawnika Nie mogę ocenić konkretnej implementacji bez znajomości jej kodu. Ale generalnie, jeśli bibliotekę rozpowszechnianą na GNU GPL wywołujemy we własnym programie, to cały program powinien być objęty tą licencją. Oznacza to w skrócie, że nie mamy obowiązku go rozpowszechniać, ale jeśli to zrobimy, to tylko w oparciu o GPL, bez opłat licencyjnych i z zapewnieniem dostępu do kodu źródłowego. Naruszenie tej zasady powoduje utratę prawa do korzystania z danej biblioteki. – Bohdan Widła, radca prawny specjalizujący się w prawie IT i nowych technologii Stanowiska organizacji powiązanych ze sprawą ZETO Koszalin udzieliło nam następującej odpowiedzi: Szanowni Państwo, w odpowiedzi na zadane pytania informujemy, że oprogramowanie (biblioteka DLL) służące dekodowaniu kodów 2D, zostało opracowane przez nas w roku 2004 na potrzeby Klienta naszej firmy. Zasady udostępniania oprogramowania innym podmiotom, objęte są klauzulą poufności i zgodnie z nią nie jesteśmy w stanie udzielić Państwu szczegółowej informacji na zadane pytania. Przedstawiciel firmy PELock zgodził się odpowiedzieć nam na kilka zadanych pytań: Skąd firma PELock posiada wiedzę o sposobie kodowania danych w dowodach rejestracyjnych, skoro te informacje nie były publiczne? Nasza firma od lat specjalizuje się w kryptografii, kompresji oraz analizie danych. Tworzymy specjalistyczne oprogramowanie szyfrujące: oraz wykonujemy audyty bezpieczeństwa dla firm i agencji rządowych na całym świecie. Byłem również waszym gościem: Co do formatu danych, to wykonaliśmy szereg badań, dziesiątki testów i prac nad formatem kodowania danych. Na ich podstawie byliśmy w stanie stwierdzić, jakiego rodzaju algorytmy zostały użyte do kodowania danych. Proces ten zajął nam kilka tygodni pracy, dzięki czemu byliśmy w stanie stworzyć odpowiednie biblioteki dekodujące i na ich bazie utworzyć całą infrastrukturę, dodając do naszej oferty binarne wersje bibliotek (DLL), wersje z kodami źródłowymi oraz usługę WebAPI wraz z rozpoznawaniem obrazów bezpośrednio ze zdjęć kodów AZTEC 2D (z czym do dzisiaj nie radzą sobie darmowe biblioteki open source jak np. ZXing), stworzone zostały także implementacje w takich językach programowania jak Java, Delphi / Pascal, Visual Basic / VBA, C/C++, C#, PHP, Python i Ruby: Cały proces zajął nam kilka lat ciężkiej pracy i pozwolił zaoferować rozwiązania programistyczne, których nie dostarczała w tym czasie żadna inna firma. Czy firma PELock posiada jakieś dowody na to, że implementacja programu „delz” ( była bazowana na Państwa produkcie, a nie na implementacji algorytmu NRV2E opublikowanej 20 lipca 2004 roku przez Markusa Oberhumera? Skoro użytkownik „v3l0c1r4pt0r” dokonał inżynierii wstecznej Państwa produktu, to czy posiadają Państwo dowód sprzedaży lub jakąkolwiek inną umowę prawną z tym użytkownikiem? Charakterystyczne cechy skompilowanego kodu i odtworzonych źródeł pozwoliły nam domniemywać, że do stworzenia tej kopii została wykorzystana nasza biblioteka, która wpadła w niepowołane ręce. Pan Grzegorz (imię zmienione – przyp. red.) czyli „v3l0c1r4pt0r”, sam przyznał, że dokonał dekompilacji biblioteki i nawet nie wie skąd ją wziął ani czyją była własnością: Tym stwierdzeniem Pan Grzegorz jasno stwierdził, że nie analizował formatu danych, tylko zdekompilował jakąś „nieznaną” bibliotekę. Pan Grzegorz nigdy nie był naszym klientem. Czy firma PELock jest w stanie uzasadnić zablokowanie repozytorium programu „drpdecompress” ( poprzez DMCA? W naszej opinii, zamieszczony tam kod był trywialny i nie mógł naruszać niczyich praw autorskich. Droga jaka doprowadziła do opublikowania tego kodu prowadziła przez analizę naszej biblioteki, a nie analizę faktycznego sposobu kodowania danych, uważamy, że to podchodzi pod tzw. derivative work ( punkt 2) i na tej podstawie zostało wysłane zgłoszenie. Chciałbym dodać, że nigdy nie mieliśmy zamiaru nikogo ciągać po sądach, jednak uważamy, że każdy ma prawo do ochrony swoich interesów i postanowiliśmy z tego skorzystać na na tyle, na ile jest to możliwe i realne do wykonania. PWPW w zeszły czwartek odpowiedziała, że wkrótce udzieli nam odpowiedzi, jednak nie zdążyła tego zrobić przed publikacją artykułu. Uwolnić dowody rejestracyjne! Ponieważ cała sytuacja jest niesamowicie groteskowa, postanowiliśmy wziąć sprawę w swoje ręce i stworzyć pierwszą otwartą implementację skanera, która zrealizuje cały proces od początku do końca. Postanowiliśmy bazować na androidowej aplikacji Zxing Barcode Scanner, która jest jedną z najbardziej rozwiniętych otwartoźródłowych implementacji skanera różnych kodów 2D. Okazało się jednak, że aplikacja nie radzi sobie z detekcją tak dużych kodów AZTEC, jak te zawarte w dowodach rejestracyjnych. Niezwykle pomocne w rozwiązywaniu tego problemu okazały się dyskusje pod zgłoszeniami problemów na portalu Google Code, który wówczas hostował projekt wspomnianej aplikacji. Programista Mariusz Dąbrowski umieścił tam swoją implementację wykrywacza krawędzi. Autor stwierdził, że jego przeróbka pozytywnie wpływa na możliwość skanowania dużych kodów. Choć nie była ona idealna, to faktycznie stanowiła krok milowy – aplikacja zaczęła skanować większe “azteki” i robiła to poprawnie, choć z pewnym trudem. Kod Mariusza zintegrowaliśmy w aplikacji i przeprowadziliśmy kilka dostrojeń polegających na poprawieniu współczynników w detektorze krawędzi oraz dostosowaniu algorytmu wykrywania prostokątów. Skoro już “nauczyliśmy” aplikację skanować duże kody AZTEC, co wcześniej było problemem, teraz przyszedł czas na zajęcie się dalszymi warstwami kodowania. Dzięki kilku eksperymentom przeprowadzonym metodą „prób i błędów” udało się ustalić ich kolejność oraz znaczenie: Finalny schemat warstw kodowania w polskich dowodach rejestracyjnych Algorytm Base64 jest dobrze znany i z jego zdekodowaniem nie było większych problemów. Przejście przez kolejną warstwę umożliwił natomiast Bartosz Soja, który opublikował swoją implementację kompresji NRV2E (web archive) w języku C#. Jego implementacja w całości bazuje na otwartej bibliotece UCL autorstwa Markusa Oberhumera, wydanej na licencji GPL. Po poświęceniu kilkunastu minut na przeportowanie kodu z języka C# do Javy, a później kilku godzin na zintegrowanie tego wszystkiego w aplikacji… stało się. Powstał pierwszy otwarty skaner dowodów rejestracyjnych. Dowód rejestracyjny zdekodowany w przerobionej aplikacji Barcode Scanner Kod źródłowy przerobionej aplikacji udostępniamy za darmo na portalu GitHub. Możecie użyć go, aby stworzyć własne rozwiązania wykorzystujące informacje z dowodów rejestracyjnych. Aplikację gotową do przetestowania udostępniamy natomiast za pośrednictwem Google Play. Aplikacja może działać lepiej lub gorzej, zależnie od używanego smartfona oraz jakości wbudowanego w nim aparatu. Zainteresowanych programistów zachęcamy do dalszego rozwijania projektu (można np. zaimplementować transformację perspektywy w oparciu o siatkę odniesienia, która obecnie nie jest w ogóle używana). Podsumowanie Sprawa AZTECów w naszych dowodach niewątpliwie wprowadza wiele kontrowersji. Cała idea przyświecająca powstaniu różnych standardów kodów 2D polega na zwiększaniu dostępności określonych informacji, interoperacyjności systemów i w związku z tym redukcji zbędnej “papierologii”. Gdyby tego typu rozwiązania były tworzone zgodnie ze sztuką programistyczną, odpowiednia specyfikacja powinna zostać upubliczniona w dniu wydania pierwszego dowodu rejestracyjnego wyposażonego w symbol 2D. Tak się jednak nie stało, a wręcz stworzono bariery, które skutecznie powstrzymały wiele instytucji przed korzystaniem z tego udogodnienia. Mamy nadzieję, że opublikowany przez nas kod okaże się przydatny. Być może pojawią się osoby zainteresowane dalszym rozwojem projektu w charakterze open source (my tego raczej nie planujemy). Oby dzięki temu powstały nowe rozwiązania, które ułatwią życie Polaków podczas wizyty u ubezpieczyciela, na stacji kontroli pojazdów czy podczas kontroli drogowej. Podobne wpisy Ekspresowe „drukowanie” kryptowalut, czyli jak szybko stać się bogatym Setki klientów banku straciły domy na skutek błędu systemu Prawa jazdy, dowody rejestracyjne, polisy były dostępne w sieci Skazany za dekompilację Skype’a i publikację algorytmu szyfrowania Czytnik kodów z dowodu rejestracyjnego Proponujemy Państwu czytnik kodu 2D A680 do odczytywania kodu Aztec z dowodu rejestracyjnego, który uzyskał pozytywną opinię Dla stacji kontroli pojazdów będących pod Patronatem ITS został uruchomiony specjalny rabat 100zł netto, aby z niego skorzystać kliknij tutaj

czytnik kodów z dowodu rejestracyjnego