Разгадывание супер простой капчи

Тема в разделе "PHP", создана пользователем Super_BOT, 9 мар 2011.

Модераторы: latteo
  1. Super_BOT

    Super_BOT

    Регистр.:
    21 апр 2009
    Сообщения:
    256
    Симпатии:
    28
    Доброго времени суток, наткнулся на очень простую капчу

    http://gyazo.com/c58cc7b195758bd51d197ed0108c8d45.png - оригинал ( рамочка от скриншотера, ее нету на картинке )
    http://gyazo.com/b41043ff326811ea6b7e80e80ca15c0f.png - она же увеличинная, присутствует небольшой мусор

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

    Пробовал использовать OCR на основе файн ридера6, расспознает через очень неуверенно
     
  2. Maza

    Maza

    Регистр.:
    3 июл 2007
    Сообщения:
    255
    Симпатии:
    118
    Есть модуль для PHP на основе нейросети, которую обучаешь а потом она распознаёт тебе образы, вот в этой статье написано -> http://www.xakep.ru/magazine/xa/135/044/1.asp
    Сам не писал, руки не доходили )
     
  3. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    кинь ссылку, по которой эта капча генерируется
     
  4. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    А просто битмапы сравнивать не пробовал? Оно ж там пиксел-в-пиксел совпадает, может быть за редким каким-то исключением.

    Сделай небольшую погрешность, нарежь 10 цифр и знаки +-= и сравнивай втупую. На хрена тут нейронные сети?
     
    Alternator нравится это.
  5. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    совсем народ разучился думать!
    нейронные сети, однако.

    капча без искажений формы.
    оттенки серого являются судя по всему артефактами JPG
    приводим капчу к монохромному виду(очевидно же)
    а затем ищем на черно-белой матрице четкие совпадения заранее подготовленных шаблонов, и их координаты.
    сортируем слева направо, и получаем строку
     
    Super_BOT нравится это.
  6. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    cap-cap.ru
     
    Super_BOT нравится это.
  7. VandJ

    VandJ

    Регистр.:
    8 апр 2008
    Сообщения:
    318
    Симпатии:
    113
    Накидал решение, этой простой капчи.
    PHP:
    $url 'http://gyazo.com/c58cc7b195758bd51d197ed0108c8d45.png';
    $img imagecreatefrompng($url);
    for (
    $i 0$i 83$i++) {
    for (
    $j 0$j 25$j++) {
    $colorat[$i][$j] = (imagecolorat ($img$i$j));
    $imagecolor imagecolorsforindex($img$colorat[$i][$j]);
    if (
    $imagecolor['red']<30$color[$i][$j] = 1; else $color[$i][$j] = 0;
    }}
    for (
    $i 4$i 10$i++) {
    for (
    $j 0$j 25$j++) {
    if (
    $color[$i][$j] == 1)  $cifra[1]++;  
    }}
    for (
    $i 12$i 18$i++) {
    for (
    $j 0$j 25$j++) {
    if (
    $color[$i][$j] == 1)  $cifra[2]++;  
    }}
    for (
    $i 20$i 26$i++) {
    for (
    $j 0$j 25$j++) {
    if (
    $color[$i][$j] == 1)  $cifra[3]++;  
    }}
    for (
    $i 52$i 58$i++) {
    for (
    $j 0$j 25$j++) {
    if (
    $color[$i][$j] == 1)  $cifra[4]++;  
    }}
    $arr = array ( 21=>23=>15=>26=>); //осталось добавить числа 0,1,3,4,6,9 (сумму пикселей)
    for($n=1$n<5$n++) $cifra[$n] = strtr($cifra[$n],$arr);
    $captcha $cifra[1].$cifra[2].$cifra[3] + $cifra[4];
    echo 
    $captcha ;
    PS. Осталось добавить числа 0,1,3,4,6,9 .
    Корректно работает при постоянных координатах цифр (по необходимости можно исправить).
    Также можно добавить вычитание и т.д.
     
    Super_BOT нравится это.
  8. Super_BOT

    Super_BOT

    Регистр.:
    21 апр 2009
    Сообщения:
    256
    Симпатии:
    28
    Спасибо всем кто ответил, получилось реализовать через cap-cap, чуть позже попробую через скрипт
     
  9. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    через скрипт выше просто так не выйдет, нужно находить координаты номеров. имхо для таких задач ненадо придумывать колесо, уже есть cap-cap, который работает довольно быстро, разве что если разгадывание каптчи нужно сильно оптимизировать