Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
Ingo
Отправлено: 02 Декабря, 2015 - 11:48:32
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 13
Дата рег-ции: Нояб. 2015  
Откуда: Москва
Репутация: 1




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

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


Проанализировав кучу скриншотов было выявлено, что:

- фиолетовая рамка - мето где появляется стрелка (следующий симовл всегда идёт со смещением 35 по Х)
- зелёные и красные пиксели - их цвет всегда совпадает с центральным
- синие пиксели - их цвет всегда не совпадает с центральным

Алгоритм основывается на сравнении цветов 4 диагональных пикселей, но на практике в игре угадывает не всегда, чаще всего начинает тупить на третьем символе (а максимум их 10), хотя скриншоты щёлкает как орешки.
CODE:

arrowX[1]=arrowX[0]+2;
arrowY[1]=arrowY[0]-2;
arrowX[2]=arrowX[0]+2;
arrowY[2]=arrowY[0]+2;
arrowX[3]=arrowX[0]-2;
arrowY[3]=arrowY[0]+2;
arrowX[4]=arrowX[0]-2;
arrowY[4]=arrowY[0]-2;

arrowcolor[0]=getcolor(arrowX[0], arrowY[0]);
arrowcolor[1]=getcolor(arrowX[1], arrowY[1]);
arrowcolor[2]=getcolor(arrowX[2], arrowY[2]);
arrowcolor[3]=getcolor(arrowX[3], arrowY[3]);
arrowcolor[4]=getcolor(arrowX[4], arrowY[4]);

if (arrowcolor[0]==arrowcolor[1])
{
if (arrowcolor[0]==arrowcolor[2])
{
textout(k, arrowX[3], arrowY[3], "A", 0);
kapcha[k]=65;
goto count;
}
}
else
{
if (arrowcolor[0]==arrowcolor[2])
{
if (arrowcolor[0]==arrowcolor[3])
{
textout(k, arrowX[3], arrowY[3], "W", 0);
kapcha[k]=87;
goto count;
}
}
else
{
if (arrowcolor[0]==arrowcolor[3])
{
if (arrowcolor[0]==arrowcolor[4])
{
textout(k, arrowX[3], arrowY[3], "D", 0);
kapcha[k]=68;
goto count;
}
}
else
{
if (arrowcolor[0]==arrowcolor[4])
{
if (arrowcolor[0]==arrowcolor[1])
{
textout(k, arrowX[3], arrowY[3], "S", 0);
kapcha[k]=83;
goto count;
}
}
else
{
goto vvod;
}
}
}
}

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


Ещё вопрос.
У меня достаточно простые паттерны для поиска на экране, поэтому я не хочу использовать bmp и заморачиваться с запаковкой их в ехе, мне проще забить их в ручную в массивы один раз.
Собстенно вопросы:
Как назначить всему массиву какое нибудь значение?
Как наначить, например, только всей строке или столбцу?
Как назначить отдельным пикселям массива, одно значение чтоб это было одной строкой в коде, чтоб не печатать для каждого пикселя в отдельную строку?
 
 Top
Kibor
Отправлено: 03 Декабря, 2015 - 21:45:09
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8194
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




для анализа как и что тут лучше было делать, надо самому смотреть вживую как и что...
выложенные скрины были с потерей качества. сказать по ним что и как нельзя было.
 
 Top
Ingo
Отправлено: 03 Декабря, 2015 - 23:01:03
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 13
Дата рег-ции: Нояб. 2015  
Откуда: Москва
Репутация: 1




Да я уже всё по другому переписал, всё нормально, только теперь сам кибор вылетает

будем пытаться разбираться
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by