HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Распознавание captcha на различных сайтах
  #1  
Старый 23.02.2009, 04:41
Go0o$E
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
С нами: 10676486

Репутация: 774
По умолчанию Распознавание captcha на различных сайтах

Сайт: letitbit.net

Распознавание:
PHP код:
$img imagecreatefromjpeg("code.jpg"); // Загружаем изображение
$x imagesx($img); // Ширина изображения
$y imagesy($img); // Высота изображения
$black imagecolorallocate ($img000); // Индификатор черного цвета
$color imagecolorallocate ($img150150150); // Индификатор цвета немного темнее чем шум 
for ($i=0;$i<$x;$i++){
    for (
$j=0;$j<$y;$j++){
        if (
imagecolorat($img,$i$j) <= $color){ // Если цвет пикселя темнее чем шум, значит это символ
        
imagesetpixel($img,$i$j$black); // Тогда заменяем его черным цветом
        
}
        }}

$sdn=4$sdk=13// Границы 1 символа
$res = array();
for (
$i=1;$i<=6;$i++){
  
$count=0
    for (
$x=$sdn;$x<$sdk;$x++){
      for (
$y=4;$y<=15;$y++){
        if (
imagecolorat($img,$x,$y) == $black) { // Если пиксель черный
        
$count++; // Суммируем его
        
}
}}
$sdn=$sdk$sdk+=9// Меняем координаты для поиска следующего символа
switch ($count){
  case 
36:{$res[$i] = "0";break;} // Если количество черных пикселей 36, то это 0
  
case 27:{$res[$i] = "1";break;} // ...
  
case 32:{$res[$i] = "2";break;}
  case 
31:{
  if (
imagecolorat($img,($x-1),7) == $black) { // Дополнительная проверка
    
$res[$i] = "3"; } else { 
    
$res[$i] = "e";
    } break; }
  case 
35:{$res[$i] = "4";break;}
  case 
37:{$res[$i] = "5";break;}
  case 
39:{
  if (
imagecolorat($img,($x-1),7) == $black) {
    
$res[$i] = "9"; } else { 
    
$res[$i] = "6";
    } break; }
  case 
26:{$res[$i] = "7";break;}
  case 
40:{$res[$i] = "8";break;}
  case 
33:{$res[$i] = "a";break;}
  case 
38:{
  if (
imagecolorat($img,($x-1),5) == $black) {
    
$res[$i] = "d"; } else { 
    
$res[$i] = "b";
    } break; }
  case 
24:{$res[$i] = "c";break;}
  case 
30:{$res[$i] = "f";break;}
}}
$code=$res[1].$res[2].$res[3].$res[4].$res[5].$res[6]; 
Ссылка на скрипт:
letitbit.php.txt
Последние 3 строчки мне помог написать Онотоле...
__________________

Завтра будет.Лучше.

Последний раз редактировалось Go0o$E; 24.02.2009 в 19:33..
 
Ответить с цитированием

  #2  
Старый 23.02.2009, 11:54
_==wolf==_
Участник форума
Регистрация: 29.05.2008
Сообщений: 181
С нами: 9448197

Репутация: 101
По умолчанию

спасибо огромное! особенно радует то что слово сайт в множественном числе и присутствует ключевое слово РАЗЛИЧНЫХ = скоро появятся ещё распознавалки!
 
Ответить с цитированием

  #3  
Старый 23.02.2009, 17:51
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
С нами: 10016425

Репутация: 1257


По умолчанию

Цитата:
особенно радует то что слово сайт в множественном числе и присутствует ключевое слово РАЗЛИЧНЫХ = скоро появятся ещё распознавалки!
имхо это был тонкий намёк автора, на "переделайте и будет вам щастье."
 
Ответить с цитированием

  #4  
Старый 23.02.2009, 17:58
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами: 9443906

Репутация: 3313


По умолчанию

Бред вообще по способу Nomer1 круче получается
Цитата:
https://forum.antichat.ru/thread60049.html
А вообще это трудная работа выставлять попиксельно картинки. Ну не для php она!

Последний раз редактировалось ChaaK; 23.02.2009 в 18:04..
 
Ответить с цитированием

  #5  
Старый 24.02.2009, 18:23
DDoSька
Постоянный
Регистрация: 05.05.2008
Сообщений: 403
С нами: 9483229

Репутация: 1160
По умолчанию

Цитата:
Сообщение от ChaaK  
Бред вообще по способу Nomer1 круче получается


А вообще это трудная работа выставлять попиксельно картинки. Ну не для php она!
ясно , что у php результаты будут не из лучших...
ЗЫ: По-моему, разбор по пикселям обязателен, без него никак =)
 
Ответить с цитированием

  #6  
Старый 23.02.2009, 17:59
Go0o$E
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
С нами: 10676486

Репутация: 774
По умолчанию

2 mr.The
Вообще я собираюсь продолжить эту тему и если есть предложения или идеи, пишите их.
// Переделать этот скрипт под легкие капчи действительно не составит труда)
__________________

Завтра будет.Лучше.
 
Ответить с цитированием

  #7  
Старый 23.02.2009, 18:00
-Hormold-
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
С нами: 9798086

Репутация: 999


По умолчанию

Странно, вообще не работает...
 
Ответить с цитированием

  #8  
Старый 23.02.2009, 18:07
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
С нами: 10016425

Репутация: 1257


По умолчанию

Цитата:
Вообще я собираюсь продолжить эту тему и если есть предложения или идеи, пишите их.
я тоже этим занимаюсь потихоньку.. щас застрял на алгоритме скелетизации. всё готово на бумаге, осталось перенести в код и затестить. дальше планирую юзать ИИ.
 
Ответить с цитированием

  #9  
Старый 23.02.2009, 18:14
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами: 9443906

Репутация: 3313


По умолчанию

А ничего если капчу развернуть и немного сделать мутной? Алгортимы будут работать?
-Если и будут, то уж никак не быстро
 
Ответить с цитированием

  #10  
Старый 24.02.2009, 00:30
fatalo
Участник форума
Регистрация: 15.05.2008
Сообщений: 166
С нами: 9467906

Репутация: 128
По умолчанию

Go0o$E,а можно откомментировать код?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sql Injections на сайтах Укртелекома Nova Уязвимости 9 23.03.2006 00:35
"Яндекс" будет показывать контекстную рекламу на обычных сайтах dinar_007 Мировые новости. Обсуждения. 0 23.12.2005 16:22



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.