Расшифровка капчи. Сервисы автоматического распознавания капчи

Эти приемы я буду демонстрировать на подопытной капче. В качестве подопытной я выбрал капчу некоего Rafontes на которую я набрел когда искал материалы для предыдущей статьи .

Пример сгенерированной капчи:

Фон мне пришлось использовать другой, так как автор не выложил оригинальный (или я не нашел), но это не повлияет на результат.

Препроцесс

В результате этого действия мы получим масимально обрезанный участок монохромного изображения с текстом.

В первую очередь нам надо отделить фон от текста . Анализируем картинку и код генерации изображения. Налицо первые ошибки:

  • Используется один цвет для всего теста с кодом
  • Цвет для текста генерируется в диапазоне rand(0, 200), 0, rand(0, 200), для R G B соответственно (достаточно выделить цвета только в этом диапазоне)
  • Фон с большим количеством разных цветов (не сможет повлиять на статистику самого часто используемого цвета)

Теперь на основе этих фактов анализируем цвет каждого пикселя во всем изображении и выделяем самый часто-используемый. Получился 8C0074 (в hex-виде). Задаем от него небольшую погрешность и выделяем этот цвет и немного похожие на него с учетом погрешности. Все выделенные закрашиваем черным, остальные белым. Получается такая картинка:

Как видите, мы получили текст, практически без искажений. Правда осталась одна линия, но у нас хитрый алгоритм обрезки (о нем ниже), на который эта линия повлиять не сможет.

Теперь выделяем участок с кодом .
Так как наш текст это самое темное пятно, то и пытаемся алгоритмически найти это пятно. Сначала определяем границы по горизонтали:

Теперь определяем границы по вертикали:

Линия осталась тут потому что то тот участок до сих пор воспринимается функцией как очень темный участок. Но теперь на основе этих границ уточняем их по второму кругу, по горизонтали:

А почему теперь эта линия убралась спросите вы? Потому что теперь анализировалось меньше «столбцов пикселей» и при анализе алгоритмом выявилось что в данном участке слишком много столбцов с одним черным пикселем, а следовательно это шум. Теперь уточняем границу по вертикали:

Так как область определения стала меньше то, теперь тот та линия что была шумом стала недостаточно темным пятном и была удаленна совсем. Вот мы и получили участок с текстом. Конечно этот алгоритм иногда не совсем верно выделяет нужную область. Но по моим тестам число НЕверных определений не превышает 5%, чем собственно можно пренебречь.

Сегментация

Теперь наша задача разбить полученное изображение на отдельные участки с символами.

Конечно можно расчитывать, искать границы символов, и тд. Но если опять проанализировать код генерации, то можно найти еще одну ошибку.

  • Отступ между каждым символом всегда равен 15 пикселям

Конечно иногда из за размера символов они выходять за рамки пятнадцати пикселей, тогда приходится откусывать от соседнего символа еще один-два пикселя. Но это не критично. Вообщем разбиваем картинку:

Теперь как мы видим вокруг некоторых символов есть пустая область. А нам все таки нужен именно сам символ. Применяем функцию обрезки для каждого символа, и полученные изображения вписываем в прямоугольники размером 17×27:

Именно такие изображения по отдельности будут подаваться на распознавание.

Распознавание

Распознавание мы будет производить БЕЗ всяких новомодных нейронных сетей. Почему? Решающую роль сыграло то что, нет ни одной достойной библиотеки под винду. Пользоваться будем обычным распознаванием по маскам символов.

Для этого мы, имея доступ к исходным кодам, нагенерируем кучу черно-белых картинок для каждого символа с разными углами поворотов (от двух до четырех градусов), и разными размерами шрифта (от 20pt до 30pt). Каждую полученную картинку, как вы догадались, вписываем в прямоугольник размером 17×27. Каждое полученное изображение называется маской.

Для каждой буквы я нагенерировал по 10-15 масок. Впринципе этого достаточно, но если увеличить количество масок, то можно увеличить процент распознавания.

Вообщем все изображения подающиеся на вход, сравниваются с масками, и алгоритм определяет какая маска больше всего соответствует нашему изображению, на основе этого делая вывод о том какой символ написан на картинке.

Результаты

Для теста я получил с помощью генерации картинки и ее разбиения на символы 200 зашумленных символов. И програмно запустил тест. И внимание!
Итог: Удачных: 172 Ошибок: 28 Процент: 86%
То есть каждый символ на капче будет распознан успешно с вероятностью в 86% !

Немного математики. Посчитаем процент вероятности успешного распознавания капчи:
Для 4-символьных капч: 0.86^4=54%
Для 5-символьных капч: 0.86^5=47%

В среднем каждая вторая капча будет успешно распознанна.

Если учесть что на каждую капчу приходится около 1 секунды, а 2 секунды в среднем будет приходится на успешное распознавание. То это очень отличный результат.

Исходники

Скрипт сам генерирует, и сам же распознает капчу. Пример работы скрипта на картинке приведенной в качестве примера автором капчи:

(Картинка кликабельна)

На этой странице я расскажу про, ещё один вид заработка в интернете — ввод капчи за деньги. Я подготовил список самых популярных сайтов для заработка на вводе капчи. Так же эти сервисы могут пригодится для работы с различными программами для использования антикапчи.

Думаю нет смысла рассказывать, что такое капча 🙂 , эта вещь встречается нам повсюду. А вот, что на этом зарабатывают наверное знают не многие.

Заработок на вводе капчи

Ну если Вы использовали какой либо софт (программу) для каких то автоматических действий в интернете, то обычно везде есть пункт меню для ввода ключа антикапчи.

Такой ключ выдают сервисы распознавания капч при оплате. Ключ обычно выглядит из набора букв и цифр. Вы вставляете этот ключ в программу и сервис распознаёт Вам на ту сумму которую вы внесли.

Так вот, а кто думаете в этих сервисах распознаёт эти крякозябры 🙂 , парочка админов?.. И сколько бы они смогли распознать?.. Конечно же нет. Они набирают работников, которые сидят разгадывают и получают денежку.

Если Вас заинтересовал такой вид заработка, то выбирайте себе сервис, можете и во всех конечно и приступайте.

Чтобы перейти на сервис, нажмите на картинку .

Список сервисов распознавания капчи

  1. Самый продвинутый и многофункциональный.


  • Возможность разгадывать на телефоне.
  • Стоимость для заказчика — от 14 руб. за 1000 капч.
  • Оплата — карты, платёжные системы.
  • Для работника — от 10 — 30 руб. за 1000 разгаданных капч, в зависимости какую сумму ставит заказчик.
  • Вывод на WebMoney от 30 руб.

2. Аналог первого только на английском и в долларах.

  • Цена антикапчи от 0,5-1,2 $ за 1000 капч.
  • Оплата за разгадывание капчи примерно 0,4 $.
  • Вывод на WebMoney от 0,5 $.

3. Ещё один буржуазный сервис для заработка на капче.

  • При регистрации нужно будет ввести код «0808».
  • Платит от 0,8-1,5 $ за разгадывание.
  • Вывод от 3 $ на Вебмани.

4.

Это расширение для браузера будет автоматически разгадывать капчу на любом сайте.

  • Для Chrome .
  • Firefox .
  • Safari .

5.

  • Цена для заказчика — от 14 руб. за 1000 капч.
  • Множество способов.
  • Для работника — от 1 — 10 коп.
  • Вывод на WebMoney от 10 руб.

6.

  • От 1$ за 1000 капч.
  • Нет заработка.

7.

  • От 0.7$ /1000.
  • Работнику — от 1 — 10 коп. Работа осуществляется по домену — kolotibablo.com .

8.

  • От $1.29 за 1000 капч.
  • Работников нет.

9.

Этот сервис предлагает оплату за разгадывание капчи сторонними людьми.

Например — устанавливаете капчу на свой сайт или ссылки в интернете.

Посмотрите видео рассказывающее про все возможности.

В предыдущих видео мы научились создавать . При этом, капча вводилась вручную. Сейчас мы покажем, как автоматизировать процесс обработки капчи с помощью сервиса Antigate.

Antigate — это сервис для автоматического распознавания капчи. Если мы его подключаем к сценарию, то при нахождении капчи Datacol не будет выдавать ее для ввода пользователю, а отправит в сервис для распознавания. Обычно Antigate обрабатывает изображение от 7 до 15 секунд, после чего возвращает результат обработки.

Не хотите каждый раз вводить капчу вручную? Посмотрев данную видеоинструкцию вы сможете автоматизировать процесс обработки капчи и значительно ускорить скорость парсинга.


Напомним, что в Datacol Вы так-же найдете уже готовые парсера:

    Для интернет магазинов:

    Изменим ранее созданный сценарий, чтобы подключить к нему Antigate. Выбираем действие обработки капчи. Устанавливаем Метод распознавания Antigate. Теперь очень важно задать свойства текущей капчи. Благодаря этому процесс автоматического распознавания будет явно быстрее, а главное корректнее. Капча у нас русская. Кроме того, капча чувствительна к регистру символов.

    Теперь осталось ввести ключ от API сервиса антигейт. Он задается в параметре сценария antigate_key. Напомним, этот параметр, был автоматически создан при добавлении стандартного блока обработки капчи. Ключ от сервиса можно получить в пользовательской панели сервиса.

    Рекомендую увеличить настройку максимальная ставка хотя бы до 10$ за 1000 распознаваний. Подробнее об этой и других настройках сервиса можно почитать в пользовательской панели. Ну и не забудьте пополнить свой баланс.

    Осталось протестировать созданный сценарий. Напомню, что для распознавания каптчи сервису потребуется какое то время. Все отработало отлично! Обратите внимание, что в некоторых случаях сервис может некорректно распознать капчу. Однако благодаря условия повторения, которые мы настроили в сценарии, распознавание для каждой страницы может запускаться до 3 раз.

    Сохраним сценарий. Запустим кампанию. Видим, что капча была автоматически обработана и мы получили нужные данные. Заметим, что на большинстве сайтов после ввода правильной капчи, она не появляется еще длительное время.

Если вы более-менее активно пользуетесь интернетом в повседневной работе, то наверняка знаете о такой неприятной штуке, какой является капча. Порой она настолько мешает в работе, что люди нередко просто перестают посещать те сайты, хозяева которых уделяют ей излишне много внимания.

Что это такое?

Кстати, а что такое капча? Представьте, что вы зашли на какой-нибудь популярный файлообменник. Чтобы скачать файл в бесплатном режиме, вам придется ввести в специальное поле некий набор символов (зачастую бессмысленных), который следует брать с рисунка напротив.

Задача осложняется тем, что символы эти порой совершенно невозможно разобрать, так как их сознательно делают нечитаемыми.

Для чего она нужна?

Разобравшись с тем, что такое капча, было бы неплохо поговорить о ее конкретном назначении. Для чего же нужно городить такой огород, усложняя отправку комментариев или скачивание файлов?

Да, были такие времена, когда о капче вообще никто не знал. Появилась она сравнительно недавно. Произошло это в тот же период, когда на просторах Рунета расплодилась масса ботов, при помощи которых предприимчивые граждане оставляли в комментариях объявления рекламного характера, бесплатно скачивали файлы и творили прочие безобразия.

Конечно, на многих ресурсах за порядком следили администраторы, но в большинстве сервисов для ведения блогов нагрузка на них оказалась такая, что они банально перестали справляться. Вот тогда пользователи и узнали о том, что такое капча! Знакомство оказалось достаточно неприятным.

Если говорить совсем точно, то сама технология первоначально была создана в 2000 году. Изначально она предназначалась только лишь для определения «человечности» вашего собеседника в интернете: тогда ни одна программа для капчи (для ее распознавания, точнее) просто не была создана.

В чем же ее недостаток?

Если вы внимательно прочитали первую часть статьи, то о большинстве негативных факторов использования капчи сможете догадаться самостоятельно. Во-первых, пользователи в большинстве своем действуют в состоянии некоего порыва. Проще говоря, когда вы видите какой-то интересный пост в том же ЖЖ, то хотите его сразу же прокомментировать.

Вот только перед вами встает неудобоваримая капча, причем большая часть символов настолько неразборчива, что на их разгадывание может уйти не один день. Как вы думаете, будет ли пользователь заниматься столь неблагодарным делом?

Нет, конечно же! Он просто уйдет на другой сайт. Таким образом, если вы стремитесь обезопасить свой ресурс от любителей оставлять спам в комментариях, советуем слишком сильно не усердствовать.

Если вы слишком увлечетесь капчей, быстро растеряете многих активных пользователей. Нет пользователей - нет денег от рекламы. Кроме того, большая часть нормальных ресурсов автоматом распознает спам в комментариях, так что смысла в дополнительной защите чаще всего нет никакого.

Практически то же самое можно сказать и о сайтах для обмена файлами. Конечно, понять их создателей можно: предлагая всем и безвозмездно скачивать интересующую информацию, они просто упустят прибыль.

Но на эту же ситуацию можно посмотреть с прямо противоположной стороны: если сайт предлагает вам возможность бесплатно получить файл, он легко наберет огромную аудиторию, которая быстро окупит все издержки за счет привлечения рекламодателей. Кстати, именно так действует отечественный iFolder, создатели которого на бедность точно пожаловаться не могут.

Так что, даже с точки зрения получения прибыли, сама идея капчи не выглядит столь уж привлекательной.

Что же делать?

А как убрать капчу, реально ли вообще это сделать? Здесь ситуация достаточно неоднозначная. Дело в том, что на многих сайтах, которые используют такой тип защиты от спама, капчу прочитать с первого раза удается далеко не каждому пользователю, не говоря уже о каких-то приложениях.

Простые варианты можно распознать при помощи небольшой утилиты Screenshot Reader, которая входит в состав программного пакета ABBYY FineReader. Но читает она только самые простые формы капчи, которые сможет без особого труда опознать любой нормальный пользователь. Кроме того, сам процесс не получится автоматизировать, так как для распознавания необходимо вручную выделять интересующий вас диапазон.

Ввод капчи

Если особого выбора у вас нет, то придется заниматься этим неблагодарным делом вручную. Какие советы можно дать? Во-первых, старайтесь делать это быстрее: на многих сайтах стоит счетчик, который сбрасывает значение, если вы не можете ввести его в течение пары минут.

Кроме того, ошибки при написании символов нередко случаются в том случае, когда в вашем браузере отключены JavaScript. Не забывайте также о необходимости Cookie, так как они помогут сайту вас «узнавать», избавляя от постоянного прохождения надоевшей защиты.

Наконец, обращайте внимание на то, что написано на главной странице сайта. Как правило, капча для сайта бывает подробно описана в пояснительной записке или отдельной статье. Отличный пример - файлообменный сервис Rapidshare, который в свое время вводил уникальную капчу.

Ее символы были легко различимы, не использовалось никаких технологий размытия или поляризации, которые бы затрудняли работу программ для ее распознавания. В чем же был секрет?

А он заключался в том, что на тех буквах и цифрах, которые нужно было вводить в соответствующее поле, сидели котики. Сколько в свое время было сказано нелицеприятных слов в адрес создателей такой системы! В конце концов, от нее отказались под давлением пользовательской общественности.

Покупаем «противоядие»

Другой вариант - связаться с нормальным программистом (или группой, что еще лучше), дабы тот сделал утилиту для распознавания капчи на каком-то конкретном сайте. Увы, но универсальных решений не существует хотя бы потому, что на каждом ресурсе защита уникальна. Какие-то типовые решения встречаются очень редко.

Особый интерес в этом ключе представляют разработки компании CMS Bitrix, которая распространяет действительно эффективные программы, которые справляются с капчей на большинстве популярных сайтов. Разработчики утверждают, что эффективность их творения находится в пределах 95 %. В зависимости от типа защиты, ее сложности и конкретного сайта, разработка методов ее защиты может обойтись вам в пару тысяч долларов, а то и больше.

Кроме того, на некоторых ресурсах есть настолько изощренная защита, что ее и человеку-то разгадать непросто!

Можно ли заработать на ее вводе?

Новички часто интересуются, можно ли как-то зарабатывать на вводе защитных символов. И это неудивительно, ведь в интернете полно объявлений о наборе групп людей, которые будут получать какие-то деньги, выполняя распознавание капчи. Стоит ли связываться с этим?

На наш взгляд (быть может, довольно субъективный), заниматься этим делом не стоит. Вы потратите огромное количество нервов, сил и трафика. А оплата такого «легкого заработка» просто поражает: просидев целый день возле компьютера, с маниакальным упорством занимаясь вбиванием капчи, вы заработаете максимум пару долларов. А оно вам надо? Наверняка нет.

Универсальный выход

Если говорить о файлообменниках, то в случае регулярной закачки вами файлов единственным надежным выходом из ситуации является покупка платного аккаунта. Как правило, его стоимость вполне адекватна. Купив такой абонемент, вы получите возможность быстро и без неудобств скачивать любые объемы информации.

Как убрать капчу с вашего блога?

Надеемся, что вы сделали правильные выводы, прочитав большую часть нашей статьи. А потому рассмотрим, как убрать ввод капчи на популярном сервисе Blogger от небезызвестной Сделать это совсем несложно, а радости посетителям своего сайта вы доставите немало.

Сначала заходим в «Редактор» вашей странички. В левой колонке выбираете пункт «Настройки». В нем есть раздел «Сообщения и комментарии». В поле «Использовать проверку по слову» поставьте значение «нет», после чего капча при вводе сообщений требоваться не будет.

Что делать, если не получается правильно ее ввести?

Бывает, что программа для ввода капчи или сам сайт (если вы вводите значения вручную) постоянно выдают ошибку. В чем может быть причина?

Прежде всего, нужно успокоиться. Как правило, в правой части любой капчи есть изогнутая стрелка. Нажав на нее, вы обновите тот набор символов, который нужно ввести для доступа на сайт. Воспользовавшись ею, можно изменить совершенно нечитаемый набор. К сожалению, нечитаемость букв встречается очень часто. Так, порой совершенно неразличима разница между буквами "Q" и "G".

Наконец, на многих сайтах можно избежать ввода защитных символов, если просто зарегистрироваться на нем. Попробуйте и этот способ.

Вот что такое капча!