X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Автоматическое распознавание IconCaptcha
k0ttee
k0ttee
Topic Starter сообщение 8.3.2019, 3:43; Ответить: k0ttee
Сообщение #1


Вчера сделал себе-любимому автоматическое распознавание IconCaptcha.

Речь о распознавании картинок, генерируемых этим плагином. Исходники открыты, так что "искать слабое место" ничего не мешает.
https://github.com/fabianwennink/IconCaptcha-Plugin-jQuery-PHP


Принцип защиты от роботов это игра "найди лишнее". Из пяти картинок нужно выбрать одну отличную.
Для глаз - четыре картинки идентичны. При детальном сравнении - все разные.

Прикрепленный файл  IconCaptcha.png ( 2,7 килобайт ) Кол-во скачиваний: 783


Первая версия моего алгоритма тупо кликала в одну и ту же, пока не угадает. Дело шло медленно (до 20 минут) и ресурсоёмко (процессор, память, трафик).
Последняя версия правильно находит картинку с первого раза и не допускает ошибок. А теперь, немного о том, как такое получилось...

Искусственный интеллект (в скобках "нет").

В начале имеем пять картинок в виде base64 строк. Копируем строки в блокнотик, затем конвертируем в графические файлы (можно сервисом по ссылке).
https://codebeautify.org/base64-to-image-converter


Затем из PNG пересохранить в JPG (и инвертировать цвета, чтобы не получить белое на белом). И сравнить пять картинок методом "каждую с каждой". Ручное сравнение можете попробовать сервисом.
https://www.imgonline.com.ua/difference-between-two-images.php


Почти одинаковые картинки будут иметь мало разницы в пикселях. А вот та картинка, которая сильно отличается, прям зальётся выделением.

Прикрепленный файл  разгадывание капчи.png ( 43,86 килобайт ) Кол-во скачиваний: 783


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

Прикрепленный файл  алгоритм сравнения картинок капчи.jpg ( 3,67 килобайт ) Кол-во скачиваний: 783


Как видите, никакого искусственного интеллекта и компьютерного зрения... Всё достаточно примитивно.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
airman
airman
сообщение 10.3.2019, 13:04; Ответить: airman
Сообщение #2


Интересная схема распознавания каптчи :smile-thumb-up:


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 10.3.2019, 17:51; Ответить: k0ttee
Сообщение #3


Применяю для сбора на кранах.
Если знаете местечки для применения - свяжитесь со мной... Применим. ;)


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
baronandr
baronandr
сообщение 11.3.2019, 12:42; Ответить: baronandr
Сообщение #4


Скоро такая капча появиться на сайтах?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 13.3.2019, 18:30; Ответить: k0ttee
Сообщение #5


Скоро такая капча появиться на сайтах?

Нужно не ждать, пока появится... А находить, где она уже есть и применять технологию.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
k0ttee
k0ttee
Topic Starter сообщение 27.3.2019, 20:29; Ответить: k0ttee
Сообщение #6


Кусок примера с канвасами. ;)

<body>
<script>
var one = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAANlBMVEVMaXH///////////////////////////////////////////////////////////8AAAD///9UALRyAAAAEXRSTlMAECAwQFBgcIGPn6+/z9/vAiY56l4AAAAJcEhZcwAADsQAAA7EAZUrDhsAAAFbSURBVCiRdVKN0sMgCNMWFSvIeP+X/UK7/ny7zbvtqsEEElP6vnJV+QFhNXP5CWfxudBPWG0ICOQ7QbOVpXrnqd9g6YnNa1rw+w73QDbL19lamZnyQ
c6BkrezVZ6OTtR9EHbTGfV2NlbM+rqXVfGRq0/r3fSgflUcXSLFptfcRE7mujdIXWQ0lDWfdzE0diFxZd7MuHqzcaMv0WhDd+3EDqri9LhMKdspXj245L7
eJ+5g/ryZK9yI7+qXOixK1iKGSurHJt/sXsC/QG+l7oo+NjArXzDBPfBLMu/vrySfcJtpGFX7hGdIFYS3xXz409C/khyQilcBo2FN3gddfT3hGILC1qVxwT4eaAx7eAZLOIIv72TF1uPoXBxMmw8ULGxA0eMzE41gSRzLOIdc
eaBIcM8jE60H279AkaA6nycwtqnmB1ojEx+NqPTpgtYeeN8dyHVMaMv7yY1z7j+J/w/aB+YK6wAAAABJRU5ErkJggg==';

var two = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAANlBMVEVMaXH///////////////////////////////////////////////////////////8AAAD///9UALRyAAAAEXRSTlMAECAwQFBgcIGPn6+/z9/vAiY56l4AAAAJcEhZcwAADsQAAA7EAZUrDhsAAAFfSURBVCiRdVKBrsQgCNMNFSfK8f8/+4qbu+WyZ7JFLbZACeET3lbMXV6BuYqa/AtHsbHRv3DXJiCQd4KiO0u2yqO/wVIDq+Ww4XtJHHAFEg6N992emZniSc6OkpWVKg9DJt2sEU7DGPG6EkuqdZ9hWazFbENr1X5RZ1zdIkmH
5VhEFnN2oUBVpBWEFRvfYGhMIbHOfKhytqLtWcbH0+hTO7CBKhk9HlOI2u40nEu+z+vAG9QfD7WObvg+2
62OFgUtbkOmbuchXuyQtQT+DXo7Vevw4ABz5/UagWTgl6BWr12QX7iM0JSy/sLDpRLMO7w+/Lrr5wU3SPlUoNFoTZyF7rYv2Isgb+tWOOHsA+rFLi+V3fh0nUT382otdqbDGgI2VqDI8elJd2NJDEs5u
lx6oHBw+hGJ9pPtNvQzcyvdeN2gsaX3L/kcBsxtK0SpDhOk9sDr7EDMbUBbrpFrq+4/wsMP7bjqCdIAAAAASUVORK5CYII=';

var three = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAANlBMVEVMaXH///////////////////////////////////////////////////////////8AAAD///9UALRyAAAAEXRSTlMAECAwQFBgcIGPn6+/z9/vAiY56l4AAAAJcEhZcwAADsQAAA7EAZUrDhsAAADrSURBVCiRlVLZkoQwCCSnSCDI///sJrNTYw6napeHGG0EummA/0QufPqvKBlh1TB+uu5rsAzgpPT7yQGWQOlnslcmug3mfkZr3bPtrX9hqBKT0goeyBURA4RqxltpE26h+
EwqW+wP5ifeQYxe9XK1/f+g8qGJNo11dZTc8RkmrmOLND1vlZKleSqPNmpY6ggXcjMfPyVbOnTpNmQ3kcsyDPEIAy9c8e+wt3jKD
PPYrB7RZm9oHl7OOqc3IcZ9+uaccU9uUXXWDIouZiC9VXZFN5OSlXf5rDvatlRNCJH1bYstAjarUX4Gn+
KCHwRaCDFdjkpgAAAAAElFTkSuQmCC';

var four = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAANlBMVEVMaXH///////////////////////////////////////////////////////////8AAAD///9UALRyAAAAEXRSTlMAECAwQFBgcIGPn6+/z9/vAiY56l4AAAAJcEhZcwAADsQAAA7EAZUrDhsAAAFaSURBVCiRdVIJksMgDINwmWDj+v+fXTn3dlJm2gH
kSLJFCO8rVuEfEFZT459wZJtL/gmLDgYBvxM0TcTVOk15g7kHUqthwS+EzwvcHVk1XnepElGOOzk5mq2dVmkanIjZyDhNI9TrbuwTimpPW
1llG7Ha1N5VDuqKq0uk6LQaG/PJXDeDuTOPhrJm8y4G9ybEJkSrKlVrOp5tiNuQTTuQgapYvhvCPuq4bDgX35/3iW/Qf1zVBNPwfbVLHSMK2jyGmsX2Q7zZrYB/gV7K3QQ+VjALXXDG9MDPQa0fu8DfcJthaK76DU+XKghv9f7wJ65fT3hAyl8FBo3RxK3RZOmEvYnsY10a
FZz9gXqzZ5ZKHnw5TqxpvzoXOdNqAwULKVB4fGYiHmxmw1KKLlceKBLc8og5p53tX6BIUIzOGwy2icQHW
j0TGy3n0qcxrD3wvk0g1jGhzceTG2fff6f7D9fqg5sqAAAAAElFTkSuQmCC';

var five = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAANlBMVEVMaXH///////////////////////////////////////////////////////////8AAAD///9UALRyAAAAEXRSTlMAECAwQFBgcIGPn6+/z9/vAiY56l4AAAAJcEhZcwAADsQAAA7EAZUrDhsAAAFfSURBVCiRdVKBssMgCNOKihVl/P/PvtDWrru3edeeGkyAEML3FcuQHxBWVZOfcBSbG/2Eh3YBgRwEr//MiaVY4zm+PZYWWK2EDd93uDmya7zJU2Fmiic5O0pWV6o8DZkMs044TWPE60o9q7Z0hBWxHotNbU1HPNG
Cq1s467QSq8hiLkeC1ER6RVi1+Q6GxiEkNph3VS5WtT/LGJ7GOLQDG6iy0eMxhaj9TsO55P28TbxB/XFXG+iG74vd6mhR0Oo2FBp2HuKb3TL4N+glajaQxw7mwTdM6B74Jai1axfkgl8LrjN0paKfcAjTpTLM2
70+/Ibr3052SPlUoNFoTTwKTZYW7EWQt3WrnHH2AfVil5fKbny+TqLpvFqLnWm3joCNFShyfHoy3FgSw1KOL
pcfKBw8/IhE6WT7MBQODuN1g8bWsebkdQ0D5rZXotymCVK7cRRxdCCWPqEt18j1VfcfrN8P6p6eb20AAAAASUVOR
K5CYII=';
</script>

<canvas style="background:#000" id='canvas12' height='50' width='50'></canvas>1-2
<canvas style="background:#000" id='canvas13' height='50' width='50'></canvas>1-3
<canvas style="background:#000" id='canvas14' height='50' width='50'></canvas>1-4
<canvas style="background:#000" id='canvas15' height='50' width='50'></canvas>1-5

<script>
//1-2
var canvas12 = document.getElementById("canvas12"),
draw12         = canvas12.getContext('2d'),
      pic1       = new Image();
      pic1.src    = one;
      pic2       = new Image();
      pic2.src    = two;
pic1.onload = function() {draw12.drawImage(pic1, 0, 0);}
pic2.onload = function() {draw12.drawImage(pic2, 0, 0);}
//1-3
var canvas13 = document.getElementById("canvas13"),
draw13         = canvas13.getContext('2d'),
      pic1       = new Image();
      pic1.src    = one;
      pic3       = new Image();
      pic3.src    = three;
pic1.onload = function() {draw13.drawImage(pic1, 0, 0);}
pic3.onload = function() {draw13.drawImage(pic3, 0, 0);}
//1-4
var canvas14 = document.getElementById("canvas14"),
draw14         = canvas14.getContext('2d'),
      pic1       = new Image();
      pic1.src    = one;
      pic4       = new Image();
      pic4.src    = four;
pic1.onload = function() {draw14.drawImage(pic1, 0, 0);}
pic4.onload = function() {draw14.drawImage(pic4, 0, 0);}
//1-5
var canvas15 = document.getElementById("canvas15"),
draw15         = canvas15.getContext('2d'),
      pic1       = new Image();
      pic1.src    = one;
      pic5       = new Image();
      pic5.src    = five;
pic1.onload = function() {draw15.drawImage(pic1, 0, 0);}
pic5.onload = function() {draw15.drawImage(pic5, 0, 0);}
</script>
</body>
<!-- 3 -->


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыCapMonster Cloud - Автоматическое распознавание всех видов капч
20 nuaru_ 6050 18.1.2024, 15:30
автор: nuaru_
Открытая тема (нет новых ответов) BuxarVideoUploader - Автоматическое скачивание и загрузка видео из любых/ на любые видео хостинги (YouTube, TikTok, Instagram, Facebook, Яндекс Дзен, Вконтакте, Одноклассники, Rutube, Dailymotion, d.tube, Telegram и т.д.
0 BuxarNET 1223 19.7.2023, 5:58
автор: BuxarNET
Открытая тема (нет новых ответов) Автоматическое определение языка. Быстро.
0 capturis 1913 7.8.2017, 19:30
автор: capturis
Открытая тема (нет новых ответов) Агентство новостей TextReporter.ru: автоматическое наполнение сайтов контентом
5 textbroker_mw 1623 6.9.2015, 12:22
автор: textbroker_mw
Открытая тема (нет новых ответов) Автоматическое создание и настройка SMTP серверов
0 GrizzLey 2547 18.8.2015, 15:11
автор: -GrizzLey-


 



RSS Текстовая версия Сейчас: 19.4.2024, 5:23
Дизайн