Captcha crack – poczta.gery.pl

Od pewnego czasu obiecuję artykuł na tematch captcha cracking. Co najmniej dwukrotnie zaczynalem pisać – ale dopiero teraz publikuję pierwszą część serii artykułów – dziś poczta.gery.pl.

Pobierz paczkę ze skryptem.

Błędów popełnianych przez projektantow obrazków jest mnóstwo – będzie o tym osobny wpis. Dziś pokażę przykład podstawowych błędów – i sposob na odczytywanie obrazka bez zbędnego tracenia czasu.

Podstawową zaletą programistów jest to – że są leniwi. Nigdy nie poświęcają więcej czasu – niż jest to potrzebne do osiągnięcia zadowalających efektów. Dlatego dziś nie będzie OCRowania obrazkow, a jedynie czyszczenie – i sposób na prosty OCR.

Najpierw rzućcie okiem na https://poczta.gery.pl/rejestracja.php – tutaj jest przykład bardzo słabego obrazka. Podstawowe wady:

  • jeden kolor napisu
  • jeden roczaj czcionki w napisie
  • równe ułożenie tekstu

Naszym celem jest zrobienie takiego przekształcenia:

Tak przekształcony obrazek możemy odczytać zwykłym ocrem:
[codesyntax lang="php"]

<?php
exec( '/usr/bin/convert clean.jpg clean.ppm' );
exec( '/usr/bin/ocrad clean.ppm', $pString );

[/codesyntax]

Dodatkowo po odczytaniu zrobimy rzutowanie błędów – wszystkie litery na cyfry. Przejrzyjcie dokładniej read_captcha.php. Jeśli jesteście ciekawi – odkomentujcie ostatnią linijkę – pięknie wypisane zostaną wszystkie odczytane piksele.

Proces czyszczenia obrazka jest bardzo prosty. Rzutujemy obrazek na czarno biały – przy uzyciu prostego algorytmu, po czym usuwamy wszystko co jest pojedynczą linią zakłócającą obraz. Dalej ocrad, rzutowanie litery -> cyfry… i można robić automat do zakładania kont.

W następnym odcinku – szukam moich starych kodów – ktore mogą być przydatne. Miałem kilka ciekawych crackerów – i napisany własnoręcznie OCR dla drukowanych napisów. Jego pomysłowośc i skuteczność była conajmniej warta publikacji. Niestety w owym czasie nie miałem ochoty prowadzić bloga. Miejmy nadzieję, że kopie bezpieczeństwa nie okażą się stajnią Augiasza.