Статья Кибор - Среда Создания Ботов

  • Автор темы Stratego
  • Дата начала
Кибор - интегрированная среда разработки ботов.

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

Кибор имеет два для обхода защит GameGuard, Frost и других.
Имеет для защита авторских прав разработчиков скриптов и удобного управления лицензированием пользователей.






autoklicker1.jpg

autoklicker2.jpg


Список функций Кибор
Указатель на окно или контролл, привязка потока, определение курсора
- Получает указатель на окно или контрол
- Позволяет получить указатель на окно или контролл по указанным координатам
- Привязывает поток для определения типа курсора
- Определение типа курсора

Управление окнами
- Переименование, сдвиг и изменение размеров окон
- Переименование окна, сдвиг и изменение размеров окон (клиентские координаты, без оконтовки окна)
- Активировать окно
- Открытие файлов и запуск программ
- Меняет раскладку языка в окне

Отправка любых сообщений в систему
- Отправляет заданное сообщение окну или окнам с ожиданием
- Отправляет заданное сообщение окну или окнам без ожидания

Управление клавиатурой
- Нажать и отпустить клавиатурную клавишу
- Нажать клавиатурную клавишу
- Отпустить клавиатурную клавишу
В не активное окно
- Отправить нажатие клавиатуры в не активное окно напрямую
- Отправить текст окну или контролу

Управление мышью
- Клик кнопкой мыши
- Нажать кнопку мыши
- Отпустить кнопку мыши
- Двойной клик мышью
- Переместить мышь на новые координаты
- Плавное перетаскивание мыши с зажатыми или нет кнопками
В не активное окно
- Делает клик мышки в не активном или свернутом окне или контроле
- Делает нажатие мышки в не активном или свернутом окне или контроле
- Перетаскивание мышки в не активном или свернутом окне или контроле
- Отпускает зажатую кнопку мыши в не активном или свернутом окне или контроле
- Двойной клик мышки в не активном или свернутом окне или контроле
- Переместить мышь на новые координаты в не активном или свернутом окне или контроле

Управление контроллами в приложениях
- Отправить нажатие на кнопку в другой программе

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

Сканирование изображения экрана
- Искать динамично меняющиеся области экрана
- Искать изображение на экране по маске изображения загруженного в память Кибор
- Ищет области на которых есть скученности пикселей определенных цветов
- Получить цвет пикселя
- Сравнивает введенный цвет с цветом пикселя в веденных координатах ориентируясь на разбежности в цветах RGB
- Найти все координаты всех пикселей указанного цвета

Получение скриншотов, сохранение их в файл и в памяти Кибор
- Делает скрин окна и записывает его в память Кибор в двухмерный массив int
- Делает скрин окна и сохраняет его на диск файлом .bmp .png .jpg
- Сохраняет на диск файлом .bmp .png .jpg загруженный ранее или созданный программно двухмерный массив int в котором хранится изображение

Получение информации о нажатых кнопках и координатах мыши
- Определение статуса (нажата-не нажата) клавиша клавиатуры или кнопки мышки ( )
- Получить текущие координаты мышки

Открытие процессов. Чтение и запись в память других программ
- Открыть процесс для чтения или записи в его память
- Поиск любых данных в памяти процесса
- Поиск данных в памяти процесса по маске (не учитывая некоторые байты в поиске)
- Читает байты с памяти процесса
- Записывает байты в память процесса
- Записывает в память процесса по указанному адресу набор байт и замораживает их (то есть не дает программе изменить их)
- Размораживат замороженные данные

Работа с интернетом
- Откывает сокет
- Отправляет байты на сервер
- Принимает ответ от сервера
- Закрыть сокет

Чтение и запись в файлы
- Открыть файл для чтения или записи (текстовый и )
- Закрыть открытый ранее файл
- Запись в открытый файл (текстовый и )
- Читает с открытого файла (текстовый и )
- Чтение строки с файла

Работа с временем, паузы
- Приостановить выполнение скрипта на время с заморозкой Кибор
- Приостановить выполнение скрипта на время без заморозки Кибор
- Получить время в милисекундах прошедшее с запуска компьютера
- Получить локальное время в формате Год - ... - милисекунды

Работа с буфером обмена
- Запись в буфер обмена
- Чтение с буфера обмена

Вывод текста на экран
- Установка цвета текста и фона для вывода его непосредственно на экран
- Вывод текста на экран
- Отключить показ текста на экране
- Включить показ текста на экране
- Сбросить текст

Преобразование одного типа данных к другому
- Привод целго число int или дробного double к string
- Преобразование строк в которых записаны числа в натуральное число int или double
- Возвращает int char'а значения в параметре
- Возвращает char чисового значения в параметре
- Копирование string в массив char
- Переводит целые или дробные числа (до 4 байт) в HEX (справа на лево)

Математические и геометрические функции
- Вычисление возведения в степень
- Вычисление корня
- Возвращает косинус угла в градусах
- Возвращает синус угла в градусах
- Возвращает тангенс угла в градусах
- Возвращает акосинус
- Возвращает асинус
- Возвращает атангенс

Сортировка
- Сортирует данные в массиве. Так же сортирует координаты в двухмерном массиве по расстоянию от указанной точки

Определение размера данных
- Возвращает количество элементов массива char до первого нуля

Звук
- Звучит звуковой сигнал

Рандом
- Получение рандомного числа
- Рандомизирует паузу между нажатиями клавиш
- Рандомизирует паузу мыши между двойным кликом

Работа с экраном
- Получить данные о цветности и разрешение экрана
- Изменить цветность или разрешение экрана
- Обновить окно

Ввод данных в процессе работы скрипта
- Вывод диалогового окна для ввода данных

Вывод сообщений
- Вывод текстового сообщения
- Вывод текстового сообщения с кнопками (Да Нет)
- Вывод текстового сообщения с кнопками (Да Нет Отмена)

Интерфейс Кибор и графическая оболочка и управление контроллами создаваемого EXE.
- Отправляет данные контролу созданному в Кибор
- Считывает данные с контрола созданного в Кибор
- Программное закрытие Кибор или собранного EXE
rename - Переименовать окно Кибор - rename("Новое имя")

Антиантикликер
- Программное выключение и включение антиантикликера

Получение индивидуального ключа компьютера
- возвращает string в котором находится индивидуальный ключ машины на котором запущен. Тот который можно узнать в окне О программе.

Программная установка настроек
- позволяет программно настроить программу как в меню - настройки. Использовать для изменения настроек в собранном EXE
 
S

Stratego

Несколько примеров скриптов и видео работы ботов..

Скачать там рисунки надо..
Видео работы
Скрипт
Код:
int r=55, p=70, r1=10, p1=90;
int start_game[14][8], fishki[8][25][25], screen_game[182][182];
int X, Y, col, xe, ye, stx, sty, fx, fy, rx, ry;;
int Xk[7][7], Yk[7][7], Nk[7][7], KL[7][7], Xf[49], Yf[49];
if (load_image()==-1){messagebox ("Ошибка загрузки рисунка."); goto er;}
getdisplay(col, xe, ye);
sleep(500);
if (findimage(1, #start_game[0][0], 0, #X, #Y, 0, 0, xe, ye, r1, r1, r1, r1, r1, r1, p1, 1, -1)!=1){messagebox ("Не нашли игру."); goto er;}
stx=X+68; sty=Y+3; fx=X+237; fy=Y+173;
rx=fx-stx; ry=fy-sty;
Xk[0][0]=14; Yk[0][0]=14;//24
mouse (LEFT, X-50, Y+50);
for (int nx=0; nx<7; nx++)
{
for (int ny=0; ny<7; ny++)
{
Xk[nx][ny]=Xk[0][0]+nx*24;
Yk[nx][ny]=Yk[0][0]+ny*24;
}
}
loop:
if (find()==-1) goto er;
hod();
sleep (100);
mouse (LEFT, X-50, Y+50);
jh: finddynamic(0, #Xf[0], #Yf[0], 0, 0, 0, 0, stx, sty, fx, fy, -1);
sleep(150);
if (finddynamic(1, #Xf[0], #Yf[0], 1, 1, 5, 5, stx, sty, fx, fy, -1)==1){sleep(50); goto jh;}
goto loop;

er:;
function find()
{
int kol=0, k, k1;
ss: screen (#screen_game[0][0], stx, sty, fx, fy, -1);
k=0; k1=0;
for (int n=0; n<8; n++)
{
k=findimage(-1, #fishki[n][0][0], -1, #Xf[0], #Yf[0], 0, 0, rx, ry, r, r, r, r, r, r, p, 1, #screen_game[0][0]);
k1=k1+k;
for (int a=0; a<k; a++)
{
for (int nx=0; nx<7; nx++)
{
for (int ny=0; ny<7; ny++)
{
if (Xk[nx][ny]-(Xf[a]+10)<10 && (Xf[a]+10)-Xk[nx][ny]<10 && Yk[nx][ny]-(Yf[a]+10)<10 && (Yf[a]+10)-Yk[nx][ny]<10)
{
Nk[nx][ny]=n;
goto df;
}
}
}
df:;
}
}
if (k1!=49)
{
sleep(100);
kol++;
if (kol<5)goto ss;
else return -1;
}
/*
finddynamic(0, #Xf[0], #Yf[0], 0, 0, 0, 0, stx, sty, fx, fy, -1);
sleep(300);
if (finddynamic(1, #Xf[0], #Yf[0], 1, 1, 5, 5, stx, sty, fx, fy, -1)==0)return 1;
else goto ss;
*/
return 1;
}

function hod()
{
for (nx=0; nx<5; nx++)
{
//for (ny=0; ny<6; ny++)
for (ny=5; ny>-1; ny--)
{
if (Nk[nx][ny+1]==Nk[nx+1][ny] && Nk[nx][ny+1]==Nk[nx+2][ny])
{
mouse_hod (stx+Xk[nx][ny], sty+Yk[nx][ny], stx+Xk[nx][ny+1], sty+Yk[nx][ny+1]);
return;
}
/////
if (Nk[nx][ny]==Nk[nx+1][ny+1] && Nk[nx][ny]==Nk[nx+2][ny])
{
mouse_hod (stx+Xk[nx+1][ny], sty+Yk[nx+1][ny], stx+Xk[nx+1][ny+1], sty+Yk[nx+1][ny+1]);
return;
}
/////
if (Nk[nx][ny]==Nk[nx+1][ny] && Nk[nx][ny]==Nk[nx+2][ny+1])
{
mouse_hod (stx+Xk[nx+2][ny+1], sty+Yk[nx+2][ny+1], stx+Xk[nx+2][ny], sty+Yk[nx+2][ny]);
return;
}
}
}
/////////////////////
for (nx=0; nx<5; nx++)
{
//for (ny=1; ny<7; ny++)
for (ny=6; ny>0; ny--)
{
if (Nk[nx][ny-1]==Nk[nx+1][ny] && Nk[nx][ny-1]==Nk[nx+2][ny])
{
mouse_hod (stx+Xk[nx][ny], sty+Yk[nx][ny], stx+Xk[nx][ny-1], sty+Yk[nx][ny-1]);
return;
}
///////
if (Nk[nx][ny]==Nk[nx+1][ny-1] && Nk[nx][ny]==Nk[nx+2][ny])
{
mouse_hod (stx+Xk[nx+1][ny], sty+Yk[nx+1][ny], stx+Xk[nx+1][ny-1], sty+Yk[nx+1][ny-1]);
return;
}
///////
if (Nk[nx][ny]==Nk[nx+1][ny] && Nk[nx][ny]==Nk[nx+2][ny-1])
{
mouse_hod (stx+Xk[nx+2][ny-1], sty+Yk[nx+2][ny-1], stx+Xk[nx+2][ny], sty+Yk[nx+2][ny]);
return;
}
///////
}
}
/////////////////////
for (nx=0; nx<4; nx++)
{
//for (ny=0; ny<7; ny++)
for (ny=6; ny>-1; ny--)
{
if (Nk[nx][ny]==Nk[nx+2][ny] && Nk[nx][ny]==Nk[nx+3][ny])
{
mouse_hod (stx+Xk[nx+1][ny], sty+Yk[nx+1][ny], stx+Xk[nx][ny], sty+Yk[nx][ny]);
return;
}
///////
if (Nk[nx][ny]==Nk[nx+1][ny] && Nk[nx][ny]==Nk[nx+3][ny])
{
mouse_hod (stx+Xk[nx+2][ny], sty+Yk[nx+2][ny], stx+Xk[nx+3][ny], sty+Yk[nx+3][ny]);
return;
}
}
}
/////////////////////
////////////////??????????????????????????????
for (nx=0; nx<6; nx++)
{
//for (ny=0; ny<5; ny++)
for (ny=4; ny>-1; ny--)
{
if (Nk[nx+1][ny]==Nk[nx][ny+1] && Nk[nx+1][ny]==Nk[nx][ny+2])
{
mouse_hod (stx+Xk[nx][ny], sty+Yk[nx][ny], stx+Xk[nx+1][ny], sty+Yk[nx+1][ny]);
return;
}
///////
if (Nk[nx][ny]==Nk[nx+1][ny+1] && Nk[nx][ny]==Nk[nx][ny+2])
{
mouse_hod (stx+Xk[nx][ny+1], sty+Yk[nx][ny+1], stx+Xk[nx+1][ny+1], sty+Yk[nx+1][ny+1]);
return;
}
///////
if (Nk[nx][ny]==Nk[nx][ny+1] && Nk[nx][ny]==Nk[nx+1][ny+2])
{
mouse_hod (stx+Xk[nx][ny+2], sty+Yk[nx][ny+2], stx+Xk[nx+1][ny+2], sty+Yk[nx+1][ny+2]);
return;
}
///////
}
}
/////////////////////
////////////////??????????????????????????????
for (nx=1; nx<7; nx++)
{
//for (ny=0; ny<5; ny++)
for (ny=4; ny>-1; ny--)
{
if (Nk[nx-1][ny]==Nk[nx][ny+1] && Nk[nx-1][ny]==Nk[nx][ny+2])
{
mouse_hod (stx+Xk[nx][ny], sty+Yk[nx][ny], stx+Xk[nx-1][ny], sty+Yk[nx-1][ny]);
return;
}
///////
if (Nk[nx][ny]==Nk[nx-1][ny+1] && Nk[nx][ny]==Nk[nx][ny+2])
{
mouse_hod (stx+Xk[nx][ny+1], sty+Yk[nx][ny+1], stx+Xk[nx-1][ny+1], sty+Yk[nx-1][ny+1]);
return;
}
///////
if (Nk[nx][ny]==Nk[nx][ny+1] && Nk[nx][ny]==Nk[nx-1][ny+2])
{
mouse_hod (stx+Xk[nx][ny+2], sty+Yk[nx][ny+2], stx+Xk[nx-1][ny+2], sty+Yk[nx-1][ny+2]);
return;
}
///////
}
}
/////////////////////
//////////////>
for (nx=0; nx<7; nx++)
{
//for (ny=0; ny<4; ny++)
for (ny=3; ny>-1; ny--)
{
if (Nk[nx][ny]==Nk[nx][ny+2] && Nk[nx][ny]==Nk[nx][ny+3])
{
mouse_hod (stx+Xk[nx][ny+1], sty+Yk[nx][ny+1], stx+Xk[nx][ny], sty+Yk[nx][ny]);
return;
}
///////
if (Nk[nx][ny]==Nk[nx][ny+1] && Nk[nx][ny]==Nk[nx][ny+3])
{
mouse_hod(stx+Xk[nx][ny+2], sty+Yk[nx][ny+2], stx+Xk[nx][ny+3], sty+Yk[nx][ny+3]);
return;
}
}
}
//////////////
}
function mouse_hod(int x1, int y1, int x2, int y2)
{
mouse (LEFT, x1, y1);
sleep(500);
mouse (LEFT, x2, y2);
}
 
function load_image()
{
if (loadimage (#start_game[0][0], "C:\3_v_ryad\start_game.bmp")<1) return -1;
for (int n=0; n<8; n++)
{
if (loadimage (#fishki[n][0][0], "C:\3_v_ryad\"+format(n)+".bmp")<1) return -1;
}
return 1;
}
============================================

Скачать там рисунки надо..
Видео работы
Скрипт
Код:
win w;
int zabros[95][19];
int tyanut[60][18];
int zakrit[17][17];
int zakrit2[15][17];
int zakrit3[13][14];
int polosa[50][5];
int ok[31][20];
int x, y;
int xt, yt;
int r=10, p=90;
int zona_x1, zona_y1, zona_x2, zona_y2;
w=window ("На рыбалку - Mozilla Firefox");//изменить на свой указатель
if (w==0){messagebox ("не найденуказатель на браузер"); goto error;}
zona_x1=0; zona_y1=0; zona_x2=w.widthclient; zona_y2=w.heightclient;//установка зоны поиска весь браузер
if (load()==-1){messagebox ("не найдены рис в C:\fishing"); goto error;}//загрузка рис
pause(2000);

enabletimer(0);//включить таймер
//тут строим петлю работыц бота. с готовых функций.
//чем меньше тут кода тем понятнее логика
loop: if (zabrosit()==1)//заброс если есть кнопка такая
{
lov();//тянуть рыб
}
sleep(25);
goto loop;// идем на начало петли работы бота

error:;

//тут реализация функций с которых состоит сам бот
function zabrosit()//заброс если есть кнопка такая
{
if (findimage(1, #zabros[0][0], 0, #x, #y, 0, 0, w.widthclient, w.heightclient, w)==1)// если есть Забростиь жмем на нее и идем в цикл ловли
{
zona_x1=x-315; zona_y1=y-420; zona_x2=x+380; zona_y2=y+50;//установка зоны поиска только игра
mouse (LEFT, x, y, 0, w);
sleep(500);
return 1;//вернем 1 заброс был
}
return 0;//вернем 0 заброса не было
}

function lov()//тянуть рыб
{
lp: if (findimage(1, #tyanut[0][0], 0, #xt, #yt, zona_x1, zona_y1, zona_x2, zona_y2, w)==1)// если есть кнопка Тянуть продолжаем цикл ловли
{
disabletimer(0);//отключить таймер
if (findimage(1, #polosa[0][0], 0, #x, #y, zona_x1, zona_y1, zona_x2, zona_y2, w)==0)mousedown (LEFT, zona_x1+xt, zona_y1+yt, 0, w);//если середина полосы не окрашена жмем кнопку Тянуть
else mouseup (LEFT, zona_x1+xt, zona_y1+yt, 0, w);//если середина полосы окрашена отпускаем кнопку Тянуть
enabletimer(0);//включить таймер
}
goto lp;//идем на начало цикла ловли
}

function load()//загрузка рис
{
if (loadimage (#zabros[0][0], "C:\fishing\zabros.bmp")<1) return -1;//если не удача загрузки
if (loadimage (#tyanut[0][0], "C:\fishing\tyanut.bmp")<1) return -1;
if (loadimage (#zakrit[0][0], "C:\fishing\zakrit.bmp")<1) return -1;
if (loadimage (#zakrit2[0][0], "C:\fishing\zakrit2.bmp")<1) return -1;
if (loadimage (#zakrit3[0][0], "C:\fishing\zakrit3.bmp")<1) return -1;
if (loadimage (#polosa[0][0], "C:\fishing\polosa.bmp")<1) return -1;
if (loadimage (#ok[0][0], "C:\fishing\ok.bmp")<1) return -1;
return 1;//норм загрузка
}
CREATE_TIMER(0, 1000)//таймер каждую сек. проверка и закрытие табличек
{
//Добавление кода выполняемого по таймеру ......
if (findimage(1, #zakrit[0][0], 0, #x, #y, zona_x1, zona_y1, zona_x2, zona_y2, r, r, r, r, r, r, p, 1, w)==1)
{
mouse (LEFT, zona_x1+x+10, zona_y1+y+10, 0, w);
sleep(500);
goto loop;//если закрыли какое то окно лов закончен. идем на начало
}
if (findimage(1, #zakrit2[0][0], 0, #x, #y, zona_x1, zona_y1, zona_x2, zona_y2, r, r, r, r, r, r, p, 1, w)==1)
{
mouse (LEFT, zona_x1+x+10, zona_y1+y+10, 0, w);
sleep(500);
goto loop;//если закрыли какое то окно лов закончен. идем на начало
}
if (findimage(1, #zakrit3[0][0], 0, #x, #y, zona_x1, zona_y1, zona_x2, zona_y2, r, r, r, r, r, r, p, 1, w)==1)
{
mouse (LEFT, zona_x1+x+10, zona_y1+y+10, 0, w);
sleep(500);
goto loop;//если закрыли какое то окно лов закончен. идем на начало
}
if (findimage(1, #ok[0][0], 0, #x, #y, zona_x1, zona_y1, zona_x2, zona_y2, w)==1)
{
mouse (LEFT, zona_x1+x+10, zona_y1+y+10, 0, w);
sleep(500);
goto loop;//если закрыли какое то окно лов закончен. идем на начало
}
}
=========================================

Скрипт
Код:
//Хак радара в RF Online
// Установить радар на самый обзор
//Запустить скрипт. Радар должен увеличить свой обзор
string name=getcontrol(EDIT_0);
win w=window (name);
if (w==0)
{
messagebox ("Невозможно найти окно "+name);
goto er;
}
int prc=openprocess(w);//Открываем процесс RF
char all_poisk[8];
char poisk[4];
codhex(1032983058, #poisk[0]);//Конвертируем искомое число 1032983058 в HEX, для поиска в памяти процесса при максимальном обзоре радара
zapis(#poisk[0], #all_poisk[0]);//Записываем 4 байтовое число 1032983058 два раза в 8 байт (идут один за другим X и Y) Его ищем
char all_zamen[8];
char zamen[4];
codhex(1022983058, #zamen[0]);//Конвертируем искомое число 1032983058 в HEX, для поиска в памяти процесса
zapis(#zamen[0], #all_zamen[0]);//Записываем 4 байтовое число 1022983058 два раза в 8 байт (идут один за другим X и Y) Им заменить надо
int adr=0;
findmemory (1, #all_poisk[0], 8, #adr, 0, prc);//Ищем 8 байт ( числа 1032983058 одно за другим)
writememory(#all_zamen[0], 8, adr, prc);//Заменяем 1032983058 числа на 1022983058.(сразу два числа. 8 байт)
if (adr!=0)messagebox ("Хак должен быть по адресу "+format(adr));
else messagebox ("Проверьте стоит ли радар на макс обзоре и повторите еще раз.");
er:;
///////////////////////////

function zapis(char #ch, char #all_ch)//Эта функция для заполнения 8 байт повторением по 4 байта (одинаковые числа)
{
int n=0, n1=0;
q: if (n<4)
{
all_ch[n1]=ch[n];
n++; n1++;
goto q;
}
n=0;
q1: if (n<4)
{
all_ch[n1]=ch[n];
n++; n1++;
goto q1;
}
}
///////////////////////////////////
CREATE_INTERFACE
{
DIALOG "Хак радара в RF Online" 237 140 //РазмерX РазмерY
BUTTONSCRIPT "Хакнуть радар" 6 80 220 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......
STATIC_0 "Название окна" 10 10 75 17 //ПозицияX ПозицияY РазмерX РазмерY
STATIC_1 "Увеличьте обзор на радаре на максимум" 10 40 215 17 //ПозицияX ПозицияY РазмерX РазмерY
STATIC_2 "и нажмите Хак" 75 60 90 17 //ПозицияX ПозицияY РазмерX РазмерY
EDIT_0 "RF Online" 90 8 136 18 //ПозицияX ПозицияY РазмерX РазмерY
}
============================================

=============================================

Видео работы бота
===============================================
И многие другие примеры на форуме..
 
S

Stratego

Создание ботов без программирования в Кибор с помощью Визуального редактора кода.
Этот инструмент позволяет абсолютно не обладая знаниями программирования строить ботов просто рисуя их схему на холсте как в паинте.
Редактор обработав эту схему обнаружит логическую связь и сгенерирует все нужные функции, переменные и Построит из них целостный скрипт готовый к запуску.
Подробнее о редакторе

viz_red_kibor.jpg


Видео работы в Визуальном редакторе при создание бота
 
R

rrrFer

Это все на самом деле очень интересно (я давно обратил внимание на тему и по вашей ссылке ходил), но сходу не понятно где эту среду скачать, платная она или нет и под какими операционками она работает (и работает ли под wine).

Просто я одно время очень прилично зарабатывал с помощью ubot studio, но это была платная среда, хотя я ее не покупал, мне ее предоставлял работодатель. Вообще их система мне показалась близкой к идеалу. Вашу я бы тоже попробовал, мне вот недавно надо было инфу с одного сайта аккуратно собрать, но я написал парсер на C++/Qt (как привык это делать), хотя с все тем же ubot у меня на это ушло минуты 3-4 (а так часа полтора-два).
 
S

Stratego

Скачать на
Но там бывает глючит капча и тогда я даю ссылку в личку.
Бесплатная, но есть Максимальная версия. Стоит 2 доллара на пол года.
 
  • Нравится
Реакции: -=S_U_N_Y=-
S

Stratego

Снял видео, демонстрирующее создание бота для такси мани в визуальном редакторе кода без программирования.
Бот участвует в гонках, заправляет автомобиль и тд
Схема бота в визуальном редакторе.
bot_taxi_mani_kibor.jpg
 
Последнее редактирование модератором:
  • Нравится
Реакции: morgot и -=S_U_N_Y=-

Сергей Попов

Кодебай
30.12.2015
4 727
6 723
BIT
444
Тема исключена из индекса google. Пожалуйста исправьте причины, приводящие к блокировке:

kibor-sreda-sozdanija-botov-848948.png
 
S

Stratego

Все изображения на месте.. И в теме они на месте. Сбой какой то.
 
S

Stratego

хм.. открыл в robots
[doublepost=1510632621,1474727038][/doublepost]В Кибор появилась новая функция и инструмент.
. Функция является обучаемой. Процесс обучения очень простой и занимает минуты.

Данная функция позволяет распознавать текст на экране, который предоставлен в виде графического изображения.
Так же после распознавания возможно получить полную информацию о символах:
readtext - сканирует указанную область экрана, окна или двухмерного массива int куда загружено изображение, чистит изображение от шума, распознает текст и записывает его в string или char
loadsymbolbase - загружает обученную базу. Можно загружать несколько баз.
symbolxpos - возвращает позицию символа по X от начала зоны поиска. Левый угол
symbolypos - возвращает позицию символа по Y от начала зоны поиска. Нижний угол
symbolwidth - возвращает ширину символа
symbolheight - возвращает высоту символа
symbolcorrect - возвращает оценку корректности распознания символа. максимальная 1
symboltype - возвращает тип. 0 цифра, 1 русс, 2 англ, 3 знак препинания и т.д.

Снял видео демонстрирующее настройку и демонстрацию работы этой функции, работу с инструментом обучения:

На этом видео демонстрируется создание бота для игры Music Wars в Кибор в реальном времени с пояснениями. Бот сканирует и распознает количество доступных боев, количество энергии. Распознает параметры нашего персонажа и соперников. Проводит бои с соперником слабее нас.

Так же возможно использовать блок распознавания текста в визуальном редакторе.
На этом видео демонстрируется создание такого же бота для Music Wars в визуальном редакторе без программирования

Встроенный в Кибор инструмент для настройки и обучения:
raspoznat_text.jpg
 
S

Stratego

В Кибор добавилось много функций для написания кода. Улучшился Визуальный редактор. Так же добавился новый инструмент, позволяющий упростить создание ботов до уровня простейшей записи в простом автокликере.
При этом не теряется возможность тонкой настройки логики и параметров как в Визуальном редакторе, так и в сгенерированном коде.
Это видео демонстрирует создание кода бота в считанные клики.
 
  • Нравится
Реакции: Clotinon
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!