Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Распознавание captcha на различных сайтах |

23.02.2009, 04:41
|
|
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
Провел на форуме: 6127131
Репутация:
774
|
|
Распознавание captcha на различных сайтах
Сайт: letitbit.net
Распознавание:
PHP код:
$img = imagecreatefromjpeg("code.jpg"); // Загружаем изображение
$x = imagesx($img); // Ширина изображения
$y = imagesy($img); // Высота изображения
$black = imagecolorallocate ($img, 0, 0, 0); // Индификатор черного цвета
$color = imagecolorallocate ($img, 150, 150, 150); // Индификатор цвета немного темнее чем шум
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..
|
|
|

23.02.2009, 11:54
|
|
Участник форума
Регистрация: 29.05.2008
Сообщений: 181
Провел на форуме: 979048
Репутация:
101
|
|
спасибо огромное! особенно радует то что слово сайт в множественном числе и присутствует ключевое слово РАЗЛИЧНЫХ = скоро появятся ещё распознавалки!
|
|
|

23.02.2009, 17:51
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
особенно радует то что слово сайт в множественном числе и присутствует ключевое слово РАЗЛИЧНЫХ = скоро появятся ещё распознавалки!
имхо это был тонкий намёк автора, на "переделайте и будет вам щастье."
|
|
|

23.02.2009, 17:58
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Бред вообще по способу Nomer1 круче получается
https://forum.antichat.ru/thread60049.html
А вообще это трудная работа выставлять попиксельно картинки. Ну не для php она!
Последний раз редактировалось ChaaK; 23.02.2009 в 18:04..
|
|
|

23.02.2009, 17:59
|
|
Members of Antichat - Level 5
Регистрация: 27.01.2006
Сообщений: 258
Провел на форуме: 6127131
Репутация:
774
|
|
2 mr.The
Вообще я собираюсь продолжить эту тему и если есть предложения или идеи, пишите их.
// Переделать этот скрипт под легкие капчи действительно не составит труда)
__________________
Завтра будет.Лучше.
|
|
|

23.02.2009, 18:00
|
|
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме: 3250478
Репутация:
999
|
|
Странно, вообще не работает...
|
|
|

23.02.2009, 18:07
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
Вообще я собираюсь продолжить эту тему и если есть предложения или идеи, пишите их.
я тоже этим занимаюсь потихоньку.. щас застрял на алгоритме скелетизации. всё готово на бумаге, осталось перенести в код и затестить. дальше планирую юзать ИИ.
|
|
|

23.02.2009, 18:14
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
А ничего если капчу развернуть и немного сделать мутной? Алгортимы будут работать?
-Если и будут, то уж никак не быстро
|
|
|

24.02.2009, 00:30
|
|
Участник форума
Регистрация: 15.05.2008
Сообщений: 166
Провел на форуме: 2591223
Репутация:
128
|
|
Go0o$E,а можно откомментировать код?
|
|
|

24.02.2009, 00:39
|
|
Новичок
Регистрация: 04.02.2009
Сообщений: 17
Провел на форуме: 274404
Репутация:
29
|
|
элементарный подсчёт пикселей...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|