![]() |
Декодирование капчи
Рыскав по инету я заменил, что опять какой то барыга продаёт кучу софта и в ней был хрумер 4. Я почитал описалово, прифигел и опять задумался над тем как же декодят эти капчи. Как то раз я уже пытался задекодить самую простую но ничего не вышло и я забил на это дело. В этот раз я наконец то написал скрипт который декодит одну из самых простейцих капч чему очень рад(ура я не такой тупой =)). В капче присутствует эффект шума и ничего более.
Вот пример капчи: http://img99.imageshack.us/img99/522/01od6.png Алгоритм очень простой: -Переводим капчу в монохромное(чёрно-белое) изображение. -Ищем первый чёрный пиксел и после нахождения ставим флаг что это начало первый цифры -Сверяем каждую колонку пикселов идя вправо и суммируя чёрные до тех пор пока не дойдём до колонки где наша сумма не станет равной нулю. -Если стала равна нулю то значит один символ мы идентифицировали. -Обнуляем флаги. -Сравниваем сомвол с шаблонами. -Записываем в переменную для вывода задекоденной капчи. Итак обо всём попорядку. Переводим капчу в монохромное(чёрно-белое) изображение. --------------------------------------------------------------------------- Унас есть капча(пример выше). В чём её слабость. Ну первое что бросается в глаза это то, что все символы написаны белым. Так за это и нужно зацепиться. Алгоритм перевода в монохромное изображение будет таков, что все пикселы кроме белого мы переводим в белый, а белые пикселы в чёрный. Код:
//Цикл перевода капчи в монохромное изображениеhttp://img84.imageshack.us/img84/729/monoeq8.png Далее нам нужно отсекать по каждому символу в капче. Разберём код Код:
for($i=0;$i<$width;$i++)Идём дальше по коду. Сравниваем сомвол с шаблонами. ----------------------------------------- Перед тем как делать сравнение я подготовил шаблоны для всех цифр которы есть в капче. Код:
//Цикл сравнения цифры из капчи с каждой цифрой по шаблонамИсключение составляет только цифра 4, ширина то у неё тоже 8 пикселов, но кол-во чёрных пикселов в некоторых столбцах равно 10, а вот сравнение идёт побайтово и шаблон для цифры 4 был сделано из 10 символов. Ну и теперь можно сравнивать побайтово переменную $char с каждым шаблоном и если например первое байт из шаблона совпадает с первым байтом из переменной $char, то мы увеличиваем переменную $ok, ну а если кол-во совпадений становится 8 и больше то мы просто прерывааем цикли так как нашли цифру. В переменную $out записываем переменную $x так как символы расположены по порядку в массиве $templates то $x будет соответствовать искомой цифре. Капчи были взяты с сайта http://dign.narod.ru/, но там нет готового решения, я решил написать и от что получилось :) Архив с капчами -------------------- Link: http://webfile.ru/1769225 Полный код --------------- Captcha(very_easy).php Код:
<?Вот и всё... ©Coded by perdimonokl aka 4nob1oz just for fun |
простая капча - простой алгоритм. Насколько я помню для распознавания письма на изображениях используются обучаемые алгоритмы на основе нейронных сетей
|
Была статья от Nomer1, там код реализован короче и лучше..
+ только за то что способ твой(если он твой) |
это все конечно хорошо и + конечно но вот бы скрипт чтобы с капчи автоматом прописывалась вот это было бы реал, хотя фантазия но все равно )))
|
еголд попробуйте распознать
|
На еголде :) Там жесть вообще :)
|
4nob1oz
на mail.ru посмотри новую) |
+toxa+, рвется она уже )))
|
статья боян, сорцов аналоги4ных тулх давно пруд пруди, и на основе нейросетей. инетерсно было бы 4итать разве4то реализацию алго выделения изображений, переворота и горизонального\вертикальн го проэцирования
|
Про распознавание примитивных капчей уже писали ТУТ и ТУТ . Да и вобще нету особых проблем в том, что бы распознать такие капчи. Лучше б написали что-то об методах фильтрации шумов, проведении сегментации и распознавании искаженных символов (блин, забыл термин, такой прикольный... которым обозначают искажение символов )))
|
Пипец заглянул на mail.ru, вот это капча так капча :) А про распознование искажённых символов вред ли тебе ктото расскажет и тем более покажет, я видел только одну статью и там просто рассказывалось про алгоритм.
А тем кто тут пишет что типа боян и что кодов и алгов, а конкретнее я говорю про тебя ProTeuS, что от вас я вообще не видел ни одной статьи, ни одного релиза, ни одного сплоита даже ДоС, такие как ты позорят расскую сцену и гнут свои пальцы но сами из себя ничего не представляют. Ты 0 ты никто тебя никто не знает ты пустое место и мне твоё мнение не важно, я послушаю прислушаюсь к мнению Great, Сталина, Кеза, Электа, Краша, +Тохи+ и ещё многих других сильных в тех плане парней но не твоё... |
Мне понравилась статья. Мой способ менее автоматизирован, да и продуман не сильно.
|
Цитата:
ЗЫ. А статья, действительно, боян |
Цитата:
Если не жалко, дай ссылку на ту статью. |
Дак найти бы ещё её эту статью. Пороюсь может и найду, но написать точно не напишу там вообще нереально для моего понимания :)
|
даешь нейросети!
|
http://dign.narod.ru/
Имхо взято отсюда, тока переписано на пхп ;) |
Вообще-то у него в статье ссылка на этот сайт и есть.
А так - понравилось. //Автор, не выёбывайся только с вашей помойкой-tgbr и любимых ваших высказываниях, как кто-то позорит русскую хак сцену. Сам же в начале повествуешь, что твой алгоритм для нубских капчей. Да и вообще, сомневаюсь, что итальянский хекер будет читать этот топик в онлайн переводчике и своим тиммейтам рассказывать, какой в России народ. Что-то я разошёлся. |
боян, тема сисек не раскрыта. автор хам
|
Щас на рапиде капча с кошками и собаками идет О_о
|
Цитата:
принцип "тыкни мышкой туда где у болонки нос иначе мышка вонять будет"? |
отпишитесь в пм пожалуйста кто умеет писать распознавалки несложных капчей (ну или сделать на базе gocr или еще чего-то такого).
платно, разумеется. |
Автору спасибо, на основе его и Nomer'овского кода решил свои маленькие проблемы с одним надоедливым сервисом. :)
Распознает капчу из букв и цифр типа http://i013.radikal.ru/0804/38/abd2a1864683.jpg PHP код:
|
| Время: 04:21 |