Sieć neuronowa w skrypcie GreaseMonkeya łamie kody CAPTCHA
W Sieci pojawił się niezwykle interesujący skrypt do firefoksowego GreaseMonkeya. Potrafi on automatycznie rozwiązywać kody CAPTCHA stosowane przez serwis Megaupload.
Stworzony przez programistę o nicku ShaunF skrypt pozwala na łatwe umieszczanie plików w Megaupload bez konieczności udowadaniania, że nie jest się wielbłą... to znaczy botem. Jednak w skrypcie fascynuje nie tyle jego funkcjonalność (bo akurat kody CAPTCHA używane przez Megaupload nie są jakoś szczególnie trudne), ale napisana w czystym JavaScripcie sieć neuronowa, która w bardzo elegancki sposób radzi sobie z OCR-em pozyskanego obrazka.
Dokładną analizę kodu zamieścił na swoim blogu sam John Resig, autor biblioteki jQuery i znany ewangelista Mozilli. Opisuje on poszczególne kroki działania skryptu następująco:
1. Za pomocą API getImageData z HTML 5 Canvas, z obrazka CAPTCHA pobierane są dane o poszczególnych pikselach i kopiowane na kanwę. Później obrazek zostaje przekonwertowany do skali szarości, poszczególne litery zostają z niego wyizolowane, poddane redukcji szumów i wykrywaniu krawędzi.
2. Napisana w JavaScripcie implementacja sieci neuronowej otrzymuje dane z kanwy, a następnie próbuje „zgadnąć” literę. Sieć otrzymuje serię wstępnie przeliczonych wartości, które pozwalają ustalić wstępne wagi poszczególnych połączeń.
3. Po uruchomieniu sieci bierze ona 64 boolowskie wartości zebrane z macierzy zawierającej wyekstrahowane znaki i porównuje je z wstępnie przeliczonymi wartościami poszczególnych liter alfabetu, przyznając im odpowiednie wyniki. W efekcie uzyskujemy serię przyporządkowań między badanym znakiem a procentowo wyrażonym podobieństwem do danej litery (np. U - 90%, O - 70%, I - 5%).
W ten sposób po sprawdzeniu wszystkich znaków generowane są litery użyte w kodzie CAPTCHA.
Oczywiście szanse na to, by taki algorytm poradził sobie obecnie z bardziej skomplikowanymi CAPTCHA są niewielkie, ale... to dopiero początek.
Skrypt do GreaseMonkeya można pobrać ze strony userscripts.org/scripts/show/38736.
Źródło: ejohn.org, userscripts.org
Polecamy
Reklama
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
Pobierałeś pirackie pliki? Uważaj! Kontrole antypirackie w domach użytkowników to codzienność
34
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Debata w sprawie ACTA: internauci spodziewali się chyba czegoś innego
14
Wynalazca WWW przed sądem: walczy tam o wolny dostęp do webowych technologii dla każdego
8
PHP 5.3.9 nie pozwoli hakerom zawiesić serwera. Pozwoli za to przejąć nad nim kontrolę
28
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
Internet w EU bez Facebooka i Google? Firmy nie mają wyboru: albo się dostosują, albo…
10
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Klamka jeszcze nie zapadła. Minister prosi Donalda Tuska, by wstrzymał się z podpisywaniem ACTA
24
Społeczność
WebDev @BLACK BEAR®
"bo denerwujesz mi ludzi na forum” lool
Minister Zdrowia...
tobas ClickShop bardzo wolno działa!!!
Nie dajcie się nabrać na wygląd i...
blackbear @WebDev, widzę że muszę Ci rozjaśnić we łbie. Czytaj więc i nie pisz...
Jay Brak obsługi aplikacji x86/x64 ze zwykłych desktopów to kręcenie na siebie...
WebDev @slawek22
Tak jak ze wszystkim tak i z prawem własności można przesadzić...
Nie dla ACTA. Nie dla INDECT. Nie dla europejskiego superpaństwa policyjnego. "rejestruje dane statyczne tj. wygląd podpisu, jak i dynamiczne: czas...
slawek22 @WebDev:
Te korporacje i "twórcy" starej daty których tak bronisz nie...
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |









#1 zergswarm 2009-01-24 20:37:05 1
IP: 195.117.128.[...] Opera/9.63 (Windows NT 5.1; U; pl) Presto/2.1.1
#2 frustrat_językowy 2009-01-25 04:23:40 -5
Pokaż komentarzIP: 213.134.189.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
#3 m_gol 2009-01-25 06:28:31 4
IP: 82.210.189.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5
#4 aaa 2009-01-25 08:10:08 -1
Pokaż komentarzIP: 94.254.165.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.43 Safari/525.19
#5 eimi® 2009-01-25 08:49:39 3
IP: 88.156.95.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5
#6 waspnation 2009-01-25 09:34:49 3
IP: 78.133.248.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
#7 finish_him 2009-01-25 12:43:12 0
IP: 83.20.79.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
#8 Errad 2009-01-25 13:43:42 -1
Pokaż komentarzIP: 84.10.83.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
#9 eimi® 2009-01-25 15:09:26 0
IP: 88.156.95.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5
#10 darek@ 2009-01-26 08:13:39 -1
Pokaż komentarzIP: 195.150.76.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 FirePHP/0.2.1
#11 eimi® 2009-01-26 08:43:18 0
IP: 88.156.95.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5
#12 GDR! 2009-01-26 11:44:20 -2
Pokaż komentarzIP: 83.168.124.[...] Opera/9.63 (X11; Linux x86_64; U; en-GB) Presto/2.1.1
#13 eimi® 2009-01-26 11:55:02 1
IP: 88.156.95.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5
#14 GDR! 2009-01-26 14:22:49 -1
Pokaż komentarzIP: 83.168.124.[...] Opera/9.63 (X11; Linux x86_64; U; en-GB) Presto/2.1.1
#15 eimi® 2009-01-26 14:31:53 0
IP: 83.4.58.[...] Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121621 Ubuntu/8.04 (hardy) Firefox/3.0.5
#16 zergswarm 2009-02-05 16:54:59 0
IP: 83.7.215.[...] Opera/9.61 (X11; Linux i686; U; en) Presto/2.1.1
#17 Kef 2009-03-22 13:16:40 0
IP: 87.205.144.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
#18 yele 2011-12-25 02:45:42 0
IP: 78.8.173.[...] Mozilla/5.0 (Windows NT 5.1; rv:9.0) Gecko/20100101 Firefox/9.0