Разгадываем капчу звездочки

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

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

Сама капча

captcha

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

[LOAD_CAPTCHA][http://carboks.ru/captcha/captcha-st/captcha.php?sid=2994269]

Дальше, чтобы работать с капчей остальными функциями ее нужно привести в черно белый вид, тоесть более темные пиксели закрасить в черный остальные в белый, для этого есть функция COLOR_TRESHOLD, вы устанавливаете средний цвет по шкале RGB, например 128, она создаст цвет RGB(128,128,128) — можно прямо имя цвета указать, и все пиксели ниже этого цвета станут белыми, а остальные черными

[LOAD_CAPTCHA][http://carboks.ru/captcha/captcha-st/captcha.php?sid=2994269]
[COLOR_TRESHOLD][200]
[DISPLAY_IMG]

теперь нужно поменять черные пиксели с белыми местами функцией APPLY_NEGATIVE

[LOAD_CAPTCHA][http://carboks.ru/captcha/captcha-st/captcha.php?sid=2994269]
[COLOR_TRESHOLD][200] [APPLY_NEGATIVE]
[DISPLAY_IMG]
[SAVE_CAPTCHA]

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

[LOAD_CAPTCHA][http://carboks.ru/captcha/captcha-st/captcha.php?sid=2994269]
[COLOR_TRESHOLD][200]
[APPLY_NEGATIVE]
[SPLIT_CIRCUIT]
[DISPLAY_ARRAY_IMG]

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

Все, в переменной $IMG_ARRAY_COUNT хранится количество картинок в буффере, это число и есть ответ капчи.

[LOAD_CAPTCHA][http://carboks.ru/captcha/captcha-st/captcha.php?sid=2994269]
[COLOR_TRESHOLD][200]
[APPLY_NEGATIVE]
[SPLIT_CIRCUIT]
[DISPLAY][Stars is $IMG_ARRAY_COUNT]

One thought on “Разгадываем капчу звездочки

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *