Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Ramzesia on May 24, 2017, 12:18:16 PM

Title: Помогите со скриптом на капчу
Post by: Ramzesia on May 24, 2017, 12:18:16 PM
Дорогие профессионалы, , прошу помочь со скриптом на капчу, если это вобще возможно.
Дело в следующем,  выходит капча и нужно туда ввести цифры. Набираются цифры как на калькуляторе, а вот отображаются те которые нужно набрать рандомно то цифрами то буквами, можно ли написать скриптик, что бы он эту капчу сам вводил? И если  можно то прошу очень очень помочь мне это реализовать. Нужно следующее:


1. Определить что капча появилась и только после этого
2. Запустился скрипт, который определил бы какие цифры нужно вписать, вписал цифры.
3. Нажал готово. И пошел дальше ловить.

Вот скрины капчи.
Title: Re: Помогите со скриптом на капчу
Post by: Vint on May 24, 2017, 02:15:15 PM
Больше скринов с зелёными цифрами/буквами.
Меньше JPEG. Намного меньше. Вплоть до 0!  :)

И что это за прозрачненькая полосочка сереется? Не движется ли она? Не перекрывает описание цифр?
Title: Re: Помогите со скриптом на капчу
Post by: Ramzesia on May 24, 2017, 07:20:27 PM
И что это за прозрачненькая полосочка сереется? Не движется ли она? Не перекрывает описание цифр?

Полоска это место куда вводятся цифры, она не двигается а вот текст (цифры) перемещается в верх, низ. Просто я думаю и никак не могу придумать как кликер поймет какие цыфры вписать первыми, даже если и распознает. Есть одна только идея но не знаю можно ли реализовать, если определить цифры и сделать перебор комбинаций из 3-х цифр?
Title: Re: Помогите со скриптом на капчу
Post by: open_78 on May 24, 2017, 07:55:35 PM
Зря стараешься.
Меньше JPEG. Намного меньше. Вплоть до 0!
В .bmp или .png скрины делай.
Title: Re: Помогите со скриптом на капчу
Post by: Ramzesia on May 24, 2017, 08:09:36 PM
Quote
Зря стараешься.
Почему? Слишком сложно или не возможно?
Quote
Меньше JPEG. Намного меньше. Вплоть до 0!
В .bmp или .png скрины делай.
Меньше в размере или весе? И зачем здесь меньше? Для кликера я 50х50 макс делаю а тут что бы норм видно было так выложил.
Title: Re: Помогите со скриптом на капчу
Post by: open_78 on May 24, 2017, 08:22:34 PM
Совсем не надо jpg. Качество теряется. В Paint нажми "сохранить как" и сохраняй в BMP. Ты же для кликера делаешь в BMP ?
P.S.  Скрины выкладывать зря стараешься.
Title: Re: Помогите со скриптом на капчу
Post by: Ramzesia on May 24, 2017, 11:14:30 PM
Совсем не надо jpg. Качество теряется. В Paint нажми "сохранить как" и сохраняй в BMP. Ты же для кликера делаешь в BMP ?
P.S.  Скрины выкладывать зря стараешься.
Для кликера в bmp делаю. Скрины выложил просто что бы иметь представление как капча выглядит.
Title: Re: Помогите со скриптом на капчу
Post by: Vint on May 25, 2017, 08:52:55 AM
Для кликера в bmp делаю. Скрины выложил просто что бы иметь представление как капча выглядит.
Это стало понятно по первым скринам. Хотелось понять насколько всё стабильно с отображением. Сравнить одну и ту же цифру и кнопки в разные запросы капчи.
Нужен только PNG или BMP!
Если ты хочешь конкретное решение, даже по частям, то о jpeg лучше совсем забыть. Мы ведь с графикой работаем и точными значениями цвета.
Title: Re: Помогите со скриптом на капчу
Post by: Ramzesia on May 29, 2017, 03:13:26 PM
Выложить материалы? Есть ли шанс на то что получится сделать? Или гиблое дело?
Title: Re: Помогите со скриптом на капчу
Post by: Зануда on May 29, 2017, 08:25:47 PM
если не выложишь то точно шансов не будет  ;D :D
Title: Re: Помогите со скриптом на капчу
Post by: Ramzesia on June 07, 2017, 05:09:15 PM
Привет, можно ли сделать так что бы кликер подставлял цифры?
Задача следующая:

1) Проверить наличие капчи
2) Определить какие там цифры
3) Методом подбора (втыка) ввести капчу

Некая ифо по капче: не меняет место (все время по центру). Полоса ввода не двигается.

Пример: цифры от 1 до 9 из них выпало 3 каких то  " x,y,z"  Так как цифры, не меняются после не правильного ввода, их можно тупо подобрать. Вот пришло в голову такое может есть у кого идеи получше? Ну или вообще ничего не определять а тупо сделать перебор из 9 цифр. Просто с 3-мя цифрами всего 6 возможных комбинаций, а с 9 это вообще туча, как то так.
Code: (clickermann) [Select]
// Пытаемся ввести капчу
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) //Определяем есть ли капча
   
   // Находим 3 цифры x,y,z  на этой капче  (тут не знаю какой код применить, надо определить 3 цифры на капче)
   // Запоминаем эти 3 цифры  (тут аналогично не знаю какой код применить)
   
   // Жмем x,y,z
   KEYPRESS(#x)
   WAITMS(50)
   KEYPRESS(#y)
   WAITMS(50)
   KEYPRESS(#z)
   WAITMS(50)
   LCLICK(10,10)  // Клик по кнопке готово
ELSE
   // Делаем основной скрипт
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Проверяем осталась ли капча
   // Жмем x,z,y
   KEYPRESS(#x)
   WAITMS(50)
   KEYPRESS(#z)
   WAITMS(50)
   KEYPRESS(#y)
   WAITMS(50)
   LCLICK(10,10)  // Клик по кнопке готово
ELSE
   // Делаем основной скрипт
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Проверяем осталась ли капча
   // Жмем y,x,z
   KEYPRESS(#y)
   WAITMS(50)
   KEYPRESS(#x)
   WAITMS(50)
   KEYPRESS(#z)
   WAITMS(50)
   LCLICK(10,10)  // Клик по кнопке готово
ELSE
   // Делаем основной скрипт
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Проверяем осталась ли капча
   // Жмем y,z,x
   KEYPRESS(#y)
   WAITMS(50)
   KEYPRESS(#z)
   WAITMS(50)
   KEYPRESS(#x)
   WAITMS(50)
   LCLICK(10,10)  // Клик по кнопке готово
ELSE
   // Делаем основной скрипт
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Проверяем осталась ли капча
   // Жмем z,x,y
   KEYPRESS(#z)
   WAITMS(50)
   KEYPRESS(#x)
   WAITMS(50)
   KEYPRESS(#y)
   WAITMS(50)
   LCLICK(10,10)  // Клик по кнопке готово
ELSE
   // Делаем основной скрипт
END_IF

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Проверяем осталась ли капча
   // Жмем z,y,x
   KEYPRESS(#z)
   WAITMS(50)
   KEYPRESS(#y)
   WAITMS(50)
   KEYPRESS(#x)
   WAITMS(50)
   LCLICK(10,10)  // Клик по кнопке готово
ELSE
   // Делаем основной скрипт
END_IF

// Делаем основной скрипт
Title: Re: Помогите со скриптом на капчу
Post by: Vint on June 07, 2017, 06:11:15 PM
Зачем подбирать, если говоришь, что цифры у тебя есть?
Title: Re: Помогите со скриптом на капчу
Post by: Ramzesia on June 07, 2017, 06:21:32 PM
Зачем подбирать, если говоришь, что цифры у тебя есть?
Цифры появляются рандомно, в разном месте и в разных строчках, как кликер поймет какую вводить, первую 2 или 3-ю?
Title: Re: Помогите со скриптом на капчу
Post by: Vint on June 07, 2017, 10:02:39 PM
те что выше (больше, чем на пол строки) те первее. Из тех что на одной строки, первые те, что левее.
Title: Re: Помогите со скриптом на капчу
Post by: Ramzesia on June 07, 2017, 11:41:46 PM
те что выше (больше, чем на пол строки) те первее. Из тех что на одной строки, первые те, что левее.
Поделись скриптом, а то я понятия не имею как это сделать.
Title: Re: Помогите со скриптом на капчу
Post by: Vint on June 08, 2017, 11:57:45 AM
Скрипт сортировки по Y, затем по X (для Y с разницей меньше $limit)

Code: (clickermann) [Select]
LOGCLEAR

// Допустим координаты цифр хранятся в массиве X, Y
//  92,75   // цифра 2
// 100,52   // цифра 5
// 130,50   // цифра 3
STRSEPARATE("92:75:100:52:130:50", ":", $corr)

// Какие это цифры в другом массиве (в том же порядке)
STRSEPARATE("2:5:3", ":", $num)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


SUB(LOG_ARR) //=================================================================
    //LOGWRITE("Размер массива: ", ARRSIZE($corr))
    FOR($INARR=0, $INARR < ARRSIZE($corr), 2)
        LOGWRITE($corr[$INARR], " - ",$corr[$INARR+1])
    END_CYC
    LOGWRITE("Порядок num:  ", $num[0], $num[1], $num[2])
    LOGWRITE(" ")
END_SUB

SUB(sort_x, $st, $en) //========================================================
    //LOGWRITE("$st / $en  ", $st, " / ", $en)
    IF($st ! $en)
        FOR($a=$st, $a < ($en-2), 2)
            $min = $corr[$a]
            $ind = $a
            FOR($b=$a+2, $b < $en, 2)
                IF($corr[$b] < $min)
                    $min = $corr[$b]
                    $ind = $b
                END_IF
            END_CYC
            $X = $corr[$ind]
            $Y = $corr[$ind+1]
            $N = $num[INT($ind/2)]
           
            $corr[$ind] = $corr[$a]
            $corr[$ind+1] = $corr[$a+1]
            $num[INT($ind/2)] = $num[INT($a/2)]
            $corr[$a] = $X
            $corr[$a+1] = $Y
            $num[INT($a/2)] = $N
        END_CYC
    END_IF
END_SUB

//==============================================================================


// сортируем массив по Y, попутно переставляя второй массив чтоб не потерять очерёдность
$len = ARRSIZE($corr)
LOG_ARR()

FOR($a=1, $a < ($len-2), 2)
    $min = $corr[$a]
    $ind = $a
    FOR($b=$a+2, $b < $len, 2)
        IF($corr[$b] < $min)
            $min = $corr[$b]
            $ind = $b
        END_IF
    END_CYC
    $X = $corr[$ind-1]
    $Y = $corr[$ind]
    $N = $num[INT($ind/2)]
    //LOGWRITE("$min = ", $min, "   ", $X, " - ", $Y)
   
    $corr[$ind-1] = $corr[$a-1]
    $corr[$ind] = $corr[$a]
    $num[INT($ind/2)] = $num[INT($a/2)]
    $corr[$a-1] = $X
    $corr[$a] = $Y
    $num[INT($a/2)] = $N
END_CYC

LOG_ARR()

// сортируем по X, пары с одинаковым Y (в пределах 10)
$limit = 10
$start = 0
$end = 0
$old = $corr[1]
FOR($i=3, $i < ($len-2), 2)
    IF(($corr[$i] - $old) < $limit)
        $old = $corr[$i]
        $end = $i + 1
    ELSE
        sort_x($start, $end)
        $start = $i + 1
        $end = $i + 1
    END_IF
END_CYC
sort_x($start, $end)

LOG_ARR()

HALT

Лог:
Code: [Select]
11:55:50 92 - 75
11:55:50 100 - 52
11:55:50 130 - 50
11:55:50 Порядок num:  253
11:55:50 
11:55:50 130 - 50
11:55:50 100 - 52
11:55:50 92 - 75
11:55:50 Порядок num:  352
11:55:50 
11:55:50 100 - 52
11:55:50 130 - 50
11:55:50 92 - 75
11:55:50 Порядок num:  532
11:55:50