Необходимо решение каптчи-слайдера

lesis

Client
Регистрация
04.07.2019
Сообщения
81
Благодарностей
35
Баллы
18
Пример каптчи вот здесь - http://longbowenterprise.gitee.io/slidercaptcha/
Оригинал будет иметь некоторое отличие (подробности в личке исполнителю).
Решить необходимо без использования браузера. На выходе нужно что то наподобие такого - [0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-2,-2,-3,-3]

Бюджет имеется, жду ценовые предложения и сроки в личку.
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 682
Благодарностей
1 866
Баллы
113

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 409
Баллы
113
Вот пример решения https://zennolab.com/discussion/threads/avtomaticheskaja-registracija-akkauntov-tiktok.80282/ можете доработать под свои нужды
Как именно материал по ссылке должен помочь сгенерировать необходимый массив int-тов, чтобы решить данную каптчу без использования браузера?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
Как именно материал по ссылке должен помочь сгенерировать необходимый массив int-тов, чтобы решить данную каптчу без использования браузера?
да никак :bk:
просто подписями светимся, не более.
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 682
Благодарностей
1 866
Баллы
113
Как именно материал по ссылке должен помочь сгенерировать необходимый массив int-тов, чтобы решить данную каптчу без использования браузера?
так важен результат решения капчи )
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 767
Благодарностей
2 409
Баллы
113
Пример каптчи вот здесь - http://longbowenterprise.gitee.io/slidercaptcha/
Оригинал будет иметь некоторое отличие (подробности в личке исполнителю).
Решить необходимо без использования браузера. На выходе нужно что то наподобие такого - [0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-2,-2,-3,-3]

Бюджет имеется, жду ценовые предложения и сроки в личку.
Мы имеем дело с траекторией движения мышки.
В момент, когда мы кликнули по стрелочке - курсор получил значение 0 по оси Y.
Дальше идёт время, примерно 10ms или 100ms, за которое снимаются показатели значения Y.
Если курсор сдвинулся вверх - мы получили отрицательное значение.
Если курсор сдвинулся вниз - получили положительное значение.
Массив скорее всего ограничен по времени (иначе будет переполнение...), да и в целом каптча гадается около 1-2-5 секунд, а значит длина массива скорее всего не должна превышать 5000/10 или 5000/100 значений (короче за 1 секунду добавляется около 100 точек).

87161


Тогда, если возьмем к примеру входящие данные, то сможем построить график траектории.
87162


Если допустим генерировать массив случайных значений, то может получиться примерно следующее:
87164


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


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

Но, с другой стороны так как каптча, о которой мы говорим имеет открытый исходный код, то уже оттуда мы можем узнать как именно производится проверка решения на стороне сервера. Если мы двигаем слайдер - магия формируется именно в самом JS, производятся все сравнения и тп. А вот на стороне сервера нужно иметь как-то быстро проверить валидная траектория или нет.
В итоге, можно встретить вот такой код, который может служить валидатором каптчи на стороне сервера:
C#:
var sum = n.Sum();
var avg = sum * 1.0 / n.Length;
var stddev = n.Select(v => Math.Pow(v - avg, 2)).Sum() / n.Length;
return stddev != 0;
Из этого кода понятно, что мы должны взять сумму всех элементов, разделить на количество элементов. И если результат не равен 0 (больше или меньше нуля) - значит можно считать что траектория валидна (хотя... ставлю под сомнение правильно ли это...).

Красота всего этого чуда в том, что сервер не знает что именно нагенерировал javascript на своей стороне (от слова совсем), и вполне вероятно, что данная каптча используется как "пустышка", которая служит для того, чтобы клиент отправил дополнительный запрос на сервер (где уже возьмется IP, UserAgent или ещё чего-то), и в случае если этот IP забанен - то не дать пользователю нагружать систему дальше (например, может быть в качестве ограничителя перед отправкой рекаптчи, ведь на проверку валидности рекаптчи также ресурс требуется, который больше, чем тот, который используется для данной каптчи предназначеной для отсеивания по IP и тп).

В своих размышлениях могу ошибаться... Но, думаю данное решение все же имеет место быть (лучше чем с браузере двигать ползунки...).

да никак :bk:
просто подписями светимся, не более.
А... Вот оно что, а то я закопался, и думал что банально чего-то не вижу...
так важен результат решения капчи )
Мне кажется, что само решение каптчи менее важно, чем способ решения - двигать мышкой в браузере, когда всё остальное без браузера очень не веселое занятие в многопотоке...
 

lesis

Client
Регистрация
04.07.2019
Сообщения
81
Благодарностей
35
Баллы
18
Всем спасибо!
@BAZAg предоставил решение в нужном виде, без браузера, под мои нужды и за адекватную стоимость!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)