1 Востаннє редагувалося Stratego (22.10.2014 22:38:45)

Тема: Кібор - інтегроване середовище розробки ботів.

Кібор - інтегроване середовище розробки ботів.

Кібор - середовище, спеціально заточене для зручного написання скриптів для автоматизації дій на комп'ютері. Зокрема написання ботів до різних онлайн ігор.
Сі подібний синтаксис досить простий для розуміння і гнучкий.

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


Форум Кібор
Завантажити Кібор
vt

http://kibor-bot.com/imagesop/autoklicker1.jpg
http://kibor-bot.com/imagesop/autoklicker2.jpg

Список функцій Кібор

Покажчик на вікно або контролери, прив'язка потоку, визначення курсору
window - Отримує покажчик на вікно або контрол
getwindow - Дозволяє отримати покажчик на вікно або контролери за вказаними координатами
attach - прив'язує потік для визначення типу курсору
getcursor - Визначення типу курсору

управління вікнами
movewindow - Перейменування, зрушення і зміна розмірів вікон
moveclient - Перейменування вікна, зрушення і зміна розмірів вікон (клієнтські координати, без оконтовку вікна)
activate - Активувати вікно
start- Відкриття файлів і запуск програм
sendlanguage- Міняє розкладку мови в вікні

Відправлення будь-яких повідомлень в систему
sendmessage - Відправляє задане повідомлення вікну або вікнам з очікуванням
postmessage - Відправляє задане повідомлення вікну або вікнам без очікування

Управління клавіатурою
key - Натиснути і відпустити клавіатурну клавішу
keydown - Натиснути клавіатурну клавішу
keyup - Відпустити клавіатурну клавішу
В не активне вікно
sendkey - Надіслати натискання клавіатури в не активна вікно безпосередньо
sendtext - Надіслати текст вікну або контролу

Управління мишею
mouse - Клік кнопкою миші
mousedown - Натиснути кнопку миші
mouseup - Відпустити кнопку миші
mousedbl - Подвійний клік мишею
mousemove - Перемістити мишу на нові координати
mousetransfer - Плавне перетягування миші з затиснутими чи ні кнопками
В не активне вікно
sendmouse - Робить клік мишки в не активне або згорнутому вікні або контролі
sendmousedown - Робить натискання мишки в не активне або згорнутому вікні або контролі
sendmousetransfer - Перетягування мишки в не активне або згорнутому вікні або контролі
sendmouseup - Відпускає затиснуту кнопку миші в не активне або згорнутому вікні або контролі
sendmousedbl - Подвійний клік мишки в не активне або згорнутому вікні або контролі
sendmousemove - Перемістити мишу на нові координати в не активне або згорнутому вікні або контролі

Управління контролле в додатках
button- Відправити натискання на кнопку в іншій програмі

Завантаження зображень в пам'ять Кібор, визначення розміру
loadimage- Завантажити зображення в пам'ять програми з файлу
imagewidth- Отримати ширину завантаженого в пам'ять Кібор зображення
imageheight- Отримати висоту завантаженого в пам'ять Кібор зображення

Сканування зображення екрана
finddynamic- Шукати динамічно мінливі області екрана
findimage- Шукати зображення на екрані по масці зображення завантаженого в пам'ять Кібор
findheapcolor- Шукає області на яких є скупченості пікселів певних кольорів
getcolor- Отримати колір пікселя
scanpixel- Порівнює запроваджений колір з кольором пікселя у веденні координатах орієнтуючись на розбіжність в кольорах RGB
findcolor- Знайти всі координати всіх пікселів зазначеного кольору

Отримання скріншотів, збереження їх у файл і в пам'яті Кібор
screen- Робить скрін вікна і записує його в пам'ять Кібор в двомірний масив int
savescreen- Робить скрін вікна і зберігає його на диск файлом .bmp .png .jpg
saveimage- Зберігає на диск файлом .bmp .png .jpg завантажений раніше або створений програмно двомірний масив int в якому зберігається зображення

Отримання інформації про натиснутих кнопках і координатах миші
getkeystate- Визначення статусу (натиснута - не натиснута) клавіша клавіатури або кнопки мишки
getmouse- Отримати поточні координати мишки

Відкриття процесів. Читання і запис в пам'ять інших програм
openprocess- Відкрити процес для читання або запису в його пам'ять
findmemory- Пошук будь-яких даних в пам'яті процесу
findmemorymask- Пошук даних в пам'яті процесу по масці (не враховуючи деякі байти в пошуку)
readmemory- Читає байти з пам'яті процесу
writememory- Записує байти в пам'ять процесу
freezememory- Записує в пам'ять процесу за вказаною адресою набір байт і заморожує їх (тобто не дає програмі змінити їх)
freememory- Разморозити заморожені дані

Робота з інтернетом
opensocket- Открити сокет
sendhtml- Відправляє байти на сервер
recvhtml- Приймає відповідь від сервера
closesocket- Закрити сокет

Читання і запис у файли
fopen- Відкрити файл для читання або запису (текстовий та бінарний режим)
fclose- Закрити відкритий раніше файл
fwrit- Запис у відкритий файл (текстовий та бінарний режим)
fread- Читає з відкритого файлу (текстовий та бінарний режим)
freadline- Читання рядка з файлу

Робота з часом, паузи
sleep- Призупинити виконання скрипта на час з заморожуванням Кібор
pause- Призупинити виконання скрипта на час без заморозки Кібор
gettime- Отримати час в мілісекундах котрі минули з запуску комп'ютера
getlocaltime- Отримати локальний час в форматі Рік - ... - мілісекунди

Робота з буфером обміну
writeclipboard- Запис в буфер обміну
readclipboard- Читання з буфера обміну

Виведення тексту на екран
textbkcolor- Установка кольору тексту і фону для виведення його безпосередньо на екран
textout- Виведення тексту на екран
enabletextout- Відключити показ тексту на екрані
disabletextout- Включити показ тексту на екрані
resettextout- Скинути текст

Перетворення одного типу даних до іншого
format- Привід целго число int або дрібного double до string
formatsn- Перетворення рядків у яких записані числа в натуральне число int або double
formatci- Повертає int char'а значення в параметрі
formatic- Повертає char числового значення в параметрі
strcpy- Копіювання string в масив char
codhex- Перекладає цілі або дробові числа (до 4 байт) в HEX (справа на ліво)

Математичні і геометричні функції
pow- Обчислення зведення в ступінь
sqrt- Обчислення кореня
cos- Повертає косинус кута в градусах
sin- Повертає синус кута в градусах
tan- Повертає тангенс кута в градусах
acos- Повертає акосінус
asin- Повертає асінус
atan- Повертає атангенс

Сортування
sort- Сортує дані в масиві. Так само сортує координати в двомірному масиві за відстанню від зазначеної точки

Визначення розміру даних
size- Повертає кількість елементів масиву char до першого нуля

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

рандом
rand- Отримання рандомних числа
keymouserand- рандомізують паузу між натисканнями клавіш
mousedblrand- рандомізують паузу миші між подвійним кліком

Робота з екраном
getdisplay- Отримати дані про кольора і розширення екрана
senddisplay- Змінити кольора або розширення екрана
update- Оновити вікно

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

Вікно повідомлень
messagebox- Вікно текстового повідомлення
messageboxyn- Вікно текстового повідомлення з кнопками (Так Ні)
messageboxync- Вікно текстового повідомлення з кнопками (Так Ні Скасування)

Інтерфейс Кібор і графічна оболонка і керування контролами створюваного EXE.
sendcontrol- Відправляє дані контролу створеному в Кібор
getcontrol- Зчитує дані з контрола створеного в Кібор
close- Програмне закриття Кібор або зібраного EXE
rename - Перейменувати вікно Кібор - rename ("Нове ім'я")

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

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

Програмна установка налаштувань
options - дозволяє програмно налаштувати програму як в меню - налаштування. Використовувати для зміни налаштувань в зібраному EXE

Подякували: 0xDADA11C7, Djalin, Betterthanyou, DW4

2

Re: Кібор - інтегроване середовище розробки ботів.

"середа розробки ботів"  *CRAZY*
а де понеділок, вівторок...неділя?

і взагалі, грайте чесно  ;)

Qt 5.4.0
Подякували: Pineapple, FakiNyan2

3

Re: Кібор - інтегроване середовище розробки ботів.

yarko написав:

"середа розробки ботів"  *CRAZY*
а де понеділок, вівторок...неділя?

і взагалі, грайте чесно  ;)

Так, соромно ...
А взагалі справа не в іграх, ця програма може автоматизувати практично будь який процес на комп'ютері.

Подякували: 0xDADA11C71

4

Re: Кібор - інтегроване середовище розробки ботів.

Stratego
Самі писали? Наведіть для наочності декілька скриптів вашою скриптовою мовою і розкажіть чим воно одрізняється од AutoIt і CheatEngine (окрім Антіантіклікера).
Трошки виправлень
Кібор - інтегрована середа інтегроване середовище розробки ботів. Сі образнийподібний синтаксис досить простий для розуміння і гнучкий.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

5

Re: Кібор - інтегроване середовище розробки ботів.

Мені здається,що людина яка знає С,не буде користуватись цим середивищем (з С-подібним синтаксисом),а напише потрібний бот сама. Оскільки  це лишня головна біль,бо це шось типу http://algoritm2.ru

6 Востаннє редагувалося koala (22.10.2014 14:34:57)

Re: Кібор - інтегроване середовище розробки ботів.

Генерація випадкового числа, здається, з govnokod.ru скопійована. Для тих, хто не розгледів:

f2: l = rand(0, 8);
if(l == l1 || l == l2) foto f2;

goto, глобальні змінні і цикл, залежний від випадкового значення, included.

Подякували: quez1

7

Re: Кібор - інтегроване середовище розробки ботів.

бо це шось типу http://algoritm2.ru

Не ганьбіться порівнянням цієї фофудді з вузькоспеціалізованим продуктом. До речі, низькорівневі кодери використовують цілий зоопарк скриптових мов.

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

8 Востаннє редагувалося VTrim (22.10.2014 14:55:48)

Re: Кібор - інтегроване середовище розробки ботів.

0xDADA11C7 написав:

бо це шось типу http://algoritm2.ru

Не ганьбіться порівнянням цієї фофудді з вузькоспеціалізованим продуктом. До речі, низькорівневі кодери використовують цілий зоопарк скриптових мов.

Ок,напишете бота на цій штуковині,дайте знати.

9

Re: Кібор - інтегроване середовище розробки ботів.

Підозрюю шо ця мова,подібно PHP,транслюється в С.

Коли я востаннє кодив на PHP він жадного С компілера не потребував

Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»

10

Re: Кібор - інтегроване середовище розробки ботів.

0xDADA11C7 написав:

Підозрюю шо ця мова,подібно PHP,транслюється в С.

Коли я востаннє кодив на PHP він жадного С компілера не потребував

Який компілер,як то інтерпретатор.

Подякували: quez, DW2

11

Re: Кібор - інтегроване середовище розробки ботів.

Прошу вибачити відразу за допущені помилки і поставитися з розумінням, я одесит і мені дуже приємно потрапити на цей форум.

По ділу:
Так, це моя програма.
В Кібор набагато легше програмувати автоматизацію, ніж чистою мовою, так як готові модулі спеціально для цього заточені і дозволяють будувати з них логіку не вникаючи в їх роботу.
Особливу увагу приділено аналізу зображення. Багато функцій не мають аналогів.

Якщо порівняти з подібними програмами, то я б виділив просто інструменти яких немає в цих програмах:
Графічний редактор, який дозволяє досить зручно підготовляти графічні матерріали для використання в скрипті. Приклад його використання на цьому відео.

Сервіс демонстрації готових скриптів і керування ліцензуванням користувачів досить зручні для розробників.

Вбудовані модулі управління клавіатурою і мишкою на низькому рівні дозволяють обходити захисту від емуляції в іграх.

Ну мені складно описати в двох рядках програму, вище наведений список функцій, з яким можна ознайомитися.

Приклад скриптів:
Це чит для RF Online - хак радара (зміна значень у пам'яті процесу)

//Хак радара в 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
}

Це скрипт пошуку мобів в цій же грі за допомогою аналізу зображення. Відео роботи.

int r=7;//Допускаемое отклонение цвета пикселя
int color[3], kol[3];//Массивы для трех цветов
color[0]=2899273; color[1]=2899273; color[2]=791579;//Тут три цвета которые будем искать в куче
kol[0]=3; kol[1]=3; kol[2]=3;//Тут сколько должно совпасть пикселей для каждого цвета
int x[50], y[50];//Тут координаты найденные
int Xx, Yy, k=0, k1=0, n;//Вспомогательные
textbkcolor (8454143,255);//Установка цвета текста

win w=window ("RF Online", "D3D Window", -1);//Указательна окно с игрой
e: k=findheapcolor(50, #color[0], #kol[0], 3, 3, #x[0], #y[0], 10, 10, 100, 100, 0, 80, w.widthclient, w.heightclient-200, r, r, r, r, r, r, w);

n=0;
s:if (n<k)//Перебор в цикле координат мобов и вывод на них их номер
{
Xx=x[n]+w.leftclient;
Yy=y[n]+w.topclient+80;
textout(n, Xx, Yy, "", 0);
textout(n, Xx, Yy , format(n), 0);
n++;
goto s;
}

n=k;s1:if (n<k1){textout(n, x[n]+w.leftclient, y[n]+w.topclient+80 , "", 0);n++;goto s1;}k1=k;
goto e;

Це скрипт для підключення до сервісу http://antigate.com для розгадування капчі

//Это вверху скрипта
char s[10000], p[1000], file[10000];
int size_file=0, sizf, t_content_length, ot;
string otvet;//сюда капча пишется


/*
//так делать скрин капчи и сохранить на комп как JPG
int Image_0[500][500];
screen(#Image_0[0][0], 2, 2, 100, 100, -1);
saveimage (JPG, #Image_0[0][0], "C:\12345.jpg");
*/

//Это использование
/*
capcha(
Указатель на string в который запишется отгаданная капча
путь к файлу .jpg с капчей на компьютере
свой ключ в системе antigate.com
время в сек. между запросами готового результата
время в сек сколько ждать результата
)
Возвращает 1 если разгадана. 0 если не разгадана
*/
ot=capcha(#otvet, "C:\12345.jpg", "tyt_vvesti_svoi_kluch_v_sisteme_antigate", 5, 120);
//если ot равно 1 - значит разгадана. капча в otvet
//если 0 - значит ошибка. Код и описание ошибки в otvet
messagebox (otvet);//выводит или капчу или ошибку



//Это вниз скрипта
function capcha(string #otvet, string pyt, string k, int t, int wtt)
{
if (capchasave(#otvet, k, pyt)==1)
{
t=t*1000;
wtt=wtt*1000;
int wtt1=gettime();
ss: if (opensocket ("antigate.com", 80)==1)//Если открыли сокет
{
//otvet="122976708";

strcpy(#s[0], "GET http:/"+"/antigate.com/res.php?key="+k+"&action=get&id="+otvet+" HTTP/1.0");//Формируем GET запрос
sizf=size(#s[0]);//Узнаем номер в массиве конца строки с GET запросом
//Записываем \r\n\r\n - конец заголовка
s[sizf]=formatic(13);s[sizf+1]=formatic(10);s[sizf+2]=formatic(13);s[sizf+3]=formatic(10);s[sizf+4]=formatic(0);
//messagebox (format(#s[0]));//Воспроизводим

if (sendhtml(#s[0], sizf+4)>0)//Если отправили запрос
{
recvhtml(#p[0], 999);//читаем ответ
//messagebox (format(#p[0]));//Воспроизводим
if (format(#p[0])=="")
{
if (gettime()-wtt1>wtt)
{
otvet="ERROR. Время ожидания прошло. Ваш ID "+formatic(13)+formatic(10)+otvet;
closesocket ();//Закрываем
return 0;
}
pause(t);
closesocket ();//Закрываем
goto ss;
}
/////////////

if (p[9]=='2' && p[10]=='0' && && p[11]=='0' && && p[13]=='O' && && p[14]=='K')//1
{
for (int n=0; n<990; n++)//2
{
if (p[n]==formatic(13)&&p[n+1]==formatic(10)&&p[n+2]==formatic(13)&&p[n+3]==formatic(10))//3
{
for (int n1=n+4; n1<990; n1++)//4
{
if (p[n1]=='O'&&p[n1+1]=='K'&&p[n1+2]=='|')//5
{
otvet="";
for (int n2=n1+3; n2<990; n2++)//6
{
if (p[n2]==formatic(13))//7
{
closesocket ();//Закрываем
return 1;
}//7
otvet=otvet+p[n2];
}//6
//otvet="Ошибка нахождения спец символов после заголовка. Ваша капча "+formatic(13)+formatic(10)+otvet;
closesocket ();//Закрываем
return 1;
}//5

if (p[n1]=='C'&&p[n1+1]=='A'&&p[n1+2]=='P'&&p[n1+3]=='C'&&p[n1+4]=='H'&&p[n1+5]=='A'&&p[n1+6]=='_'&&p[n1+7]=='N'&&p[n1+8]=='O'
&&p[n1+9]=='T'&&p[n1+10]=='_'&&p[n1+11]=='R'&&p[n1+12]=='E'&&p[n1+13]=='A'&&p[n1+14]=='D'&&p[n1+15]=='Y')
{
if (gettime()-wtt1>wtt)
{
otvet="ERROR. Время ожидания прошло. Ваш ID "+formatic(13)+formatic(10)+otvet;
closesocket ();//Закрываем
return 0;
}
pause(t);
closesocket ();//Закрываем
goto ss;
}

}//4

for (n1=n+4; n1<990; n1++)//8
{
if (p[n1]=='E'&&p[n1+1]=='R'&&p[n1+2]=='R'&&p[n1+3]=='O'&&p[n1+4]=='R')//9
{
otvet="";
for (n2=n1; n2<990; n2++)//10
{
if (p[n2]==formatic(13))//11
{
closesocket ();//Закрываем
return 0;
}//11
otvet=otvet+p[n2];
}//10
}//9
}//8
return 0;
}//3
}//2
closesocket ();//Закрываем
otvet="ERROR. Ошибка нахождения спец символов после заголовка Ваш ID "+formatic(13)+formatic(10)+otvet;
return 0;
}//1
closesocket ();//Закрываем
otvet="ERROR. Ошибка подключения к сервесу. Не вернул OK 200 Ваш ID "+formatic(13)+formatic(10)+otvet;
return 0;
}
if (gettime()-wtt1>wtt)
{
closesocket ();//Закрываем
otvet="ERROR. Время ожидания прошло. Не удалось отправить запрос Ваш ID "+formatic(13)+formatic(10)+otvet;
return 0;
}
pause(t);
closesocket ();//Закрываем
goto ss;
}

if (gettime()-wtt1>wtt)
{
otvet="ERROR. Время ожидания прошло. Не удалось открыть сокет. Ваш ID "+formatic(13)+formatic(10)+otvet;
return 0;
}
pause(t);
goto ss;
}
else return 0;
}

function capchasave(string #otvet, string id, string pyt)
{
otvet="";

if (opensocket ("antigate.com", 80)==1)//Если открыли сокет
{
read_file(pyt);

strcpy(#s[0], "POST /in.php HTTP/1.1");//Формируем POST запрос
savegetpost(#s[0], 1);

strcpy(#s[0], format(#s[0])+"Host: antigate.com");//Формируем POST запрос
savegetpost(#s[0], 1);



strcpy(#s[0],format(#s[0])+"Content-Type: multipart/form-data;");//Формируем POST запрос
savegetpost(#s[0], 0);
strcpy(#s[0], format(#s[0])+" boundary=kibor-post");//Формируем POST запрос
savegetpost(#s[0], 1);

strcpy(#s[0], format(#s[0])+"Content-Length: 0000000000" );//Формируем POST запрос
savegetpost(#s[0], 2);
t_content_length=sizf;

strcpy(#s[0], format(#s[0])+"--kibor-post" );//Формируем POST запрос
savegetpost(#s[0], 1);

strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name="+formatic(34)+"method"+formatic(34));//Формируем POST запрос
savegetpost(#s[0], 2);

strcpy(#s[0], format(#s[0])+"post" );//Формируем POST запрос
savegetpost(#s[0], 1);

strcpy(#s[0], format(#s[0])+"--kibor-post" );//Формируем POST запрос
savegetpost(#s[0], 1);

strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name="+formatic(34)+"key"+formatic(34));//Формируем POST запрос
savegetpost(#s[0], 2);

strcpy(#s[0],format(#s[0])+id);//Формируем POST запрос
savegetpost(#s[0], 1);

strcpy(#s[0], format(#s[0])+"--kibor-post" );//Формируем POST запрос
savegetpost(#s[0], 1);

strcpy(#s[0], format(#s[0])+"Content-Disposition: form-data; name=");//Формируем POST запрос
strcpy(#s[0], format(#s[0])+formatic(34)+"file"+formatic(34)+"; filename="+formatic(34)+"12345.jpg"+formatic(34) );//Формируем POST запрос
savegetpost(#s[0], 1);

strcpy(#s[0], format(#s[0])+"Content-Type: image/jpeg");//Формируем POST запрос
savegetpost(#s[0], 2);

sizf=size(#s[0]);//Узнаем номер в массиве конца строки с POST запросом
for (int n=0; n<size_file; n++)s[sizf+n]=file[n];

sizf=sizf+size_file;
s[sizf]=formatic(13);s[sizf+1]=formatic(10);s[sizf+2]=formatic(0);
sizf=sizf+2;

s[sizf]='-'; sizf++; s[sizf]='-'; sizf++; s[sizf]='k'; sizf++; s[sizf]='i'; sizf++; s[sizf]='b'; sizf++;
s[sizf]='o'; sizf++; s[sizf]='r'; sizf++; s[sizf]='-'; sizf++; s[sizf]='p'; sizf++; s[sizf]='o'; sizf++;
s[sizf]='s'; sizf++; s[sizf]='t'; sizf++; s[sizf]='-'; sizf++; s[sizf]='-'; sizf++;
s[sizf]=formatic(13);s[sizf+1]=formatic(10);s[sizf+2]=formatic(0);
sizf=sizf+2;

save_content_length();

//messagebox (format(#s[0]));//Воспроизводим что отправляем
/*

if (fopen ("C:\543215.txt", "wb")!=0)
{
//записать в файл что отправляем
fwriteb(#s[0], sizf);//Запись по указателю на масив char
fclose();
}
*/
if (sendhtml(#s[0], sizf)>0)//Если отправили запрос
{
recvhtml(#p[0], 999);//читаем ответ
//messagebox (format(#p[0]));//Воспроизводим ответ

if (p[9]=='2' && p[10]=='0' && && p[11]=='0' && && p[13]=='O' && && p[14]=='K')
{
for (int n=0; n<990; n++)
{
if (p[n]==formatic(13)&&p[n+1]==formatic(10)&&p[n+2]==formatic(13)&&p[n+3]==formatic(10))
{
for (int n1=n+4; n1<990; n1++)
{
if (p[n1]=='O'&&p[n1+1]=='K'&&p[n1+2]=='|')
{
for (int n2=n1+3; n2<990; n2++)
{
if (p[n2]==formatic(13))
{
closesocket ();//Закрываем
return 1;
}
otvet=otvet+p[n2];
}
closesocket ();//Закрываем
otvet="ERROR. Ошибка нахождения спец символов после заголовка. Ваш ID "+formatic(13)+formatic(10)+otvet;
return 0;
}
}

for (n1=n+4; n1<990; n1++)
{
if (p[n1]=='E'&&p[n1+1]=='R'&&p[n1+2]=='R'&&p[n1+3]=='O'&&p[n1+4]=='R')
{
for (n2=n1; n2<990; n2++)
{
if (p[n2]==formatic(13))
{
closesocket ();//Закрываем
return 0;
}
otvet=otvet+p[n2];
}
}
}
closesocket ();//Закрываем
otvet="ERROR. Ошибка нахождения спец символов после ошибки. Ошибка "+formatic(13)+formatic(10)+otvet;
return 0;
}
}
closesocket ();//Закрываем
otvet="ERROR. Ошибка нахождения спец символов после заголовка.";
return 0;
}
closesocket ();//Закрываем
otvet="ERROR. Ошибка подключения к сервесу. Не вернул OK 200";
return 0;


}
closesocket ();//Закрываем
otvet="ERROR. Не удалось отправить запрос";
return 0;
}
otvet="ERROR. Не удалось открыть сокет.";
return 0;
}
hh:;

function savegetpost(char #s, int p)
{

sizf=size(#s[0]);//Узнаем номер в массиве конца строки с POST запросом
//Записываем \r\n или \r\n\r\n
for (int n=0; n<p; n++){s[sizf]=formatic(13);s[sizf+1]=formatic(10);sizf=sizf+2;}
s[sizf]=formatic(0);
}

function read_file(string pyt)
{
if (fopen (pyt, "rb")!=0)
{
size_file=freadb(#file[0], 9999);
fclose();
size_file--;
}
}

function save_content_length()
{
char c_cont_l[12];
strcpy(#c_cont_l[0], format(sizf-t_content_length));
int siz_cont_l=size(#c_cont_l[0]);
int r_cont_l=10-siz_cont_l;
for (int n=0; n < siz_cont_l; n++)s[t_content_length-14+r_cont_l+n]=c_cont_l[n];
}

Це скрипт для автоматизації компіляції, підписи і запуску драйвера який пишеться в середовищі WinDDK. Відео роботи.

win w;

a: if (getkeystate(17)==1 && getkeystate(192)==1)//если нажаты контр Ё
{
a1: if (getkeystate(17)==1 || getkeystate(192)==1){sleep(50); goto a1;}//ждать пока не отпустят
fun_cmd();//запуск и работа с программой cmd.exe setenv.bat(компиляция драйвера)
fun_dseo13b();//запуск и работа с программой dseo13b.exe (подпись драйвера)
fun_KmdManager();//запуск и работа с программой KmdManager.exe (перезапуск драйвера)
}
sleep(100); goto a;



function fun_KmdManager()//запуск и работа с программой KmdManager.exe (перезапуск драйвера)
{
start("C:\DRV\objfre_win7_amd64\amd64\KmdManager.exe");sleep(500);
fun_control("Kernel-Mode Driver Manager");
vvod("C:\DRV\objfre_win7_amd64\amd64\TestDriver.sys");
button(0, window ("&Stop", "Button", w));sleep(500);
button(0, window ("&Unregister", "Button", w));sleep(500);
button(0, window ("Re&gister", "Button", w));sleep(500);
button(0, window ("&Run", "Button", w));sleep(500);
sendmessage(WM_CLOSE, 0, 0, w);sleep(500);
fun_control("Kernel-Mode Driver Manager");
button(0, window ("&Да", "Button", w));
}


function fun_dseo13b()//запуск и работа с программой dseo13b.exe (подпись драйвера)
{
start("C:\DRV\objfre_win7_amd64\amd64\dseo13b.exe");sleep(500);
fun_control("Driver Signature Enforcement Overrider");
button(0, window ("&Next >", "Button", w));sleep(200);

fun_control("Software License Agreement");
button(0, window ("&Yes", "Button", w));sleep(200);

fun_control("Driver Signature Enforcement Overrider");
button(0, window ("Sign a System File", "Button", w));sleep(200);
button(0, window ("Next", "Button", w));sleep(200);

fun_control("Insert filename ");
sleep(500);
vvod("C:\DRV\objfre_win7_amd64\amd64\TestDriver.sys");
button(0, window ("OK", "Button", w));sleep(200);

fun_control("Done!");
button(0, window ("ОК", "Button", w));sleep(200);

fun_control("Driver Signature Enforcement Overrider");
button(0, window ("Exit", "Button", w));sleep(200);
button(0, window ("Next", "Button", w));sleep(200);
}



function fun_cmd()//запуск и работа с программой cmd.exe setenv.bat(компиляция драйвера)
{
start("%windir%\system32\cmd.exe");
sleep(500);
a: w= window (-1, "ConsoleWindowClass", -1);
if (w==0){sleep(10); goto a;}
sleep(100);
vvod("cd C:\WINDOWS\");key(RETURN);
vvod("cd C:\");key(RETURN);
vvod("C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ fre x64 WIN7");key(RETURN);
vvod("cd C:\");key(RETURN);
vvod("cd drv");key(RETURN);
vvod("build");key(RETURN);
vvod("exit");key(RETURN);
sleep(500);
a1: w=window (-1, "ConsoleWindowClass", -1);
if (w!=0){sleep(10); goto a1;}
}



function fun_control(string name)//функция контроля появления диалогового окна
{
a: w=window (name);
if (w==0){sleep(10); goto a;}
}



function vvod(string text)//Ввод текста с зажатием шифта
{
char tx[9999];
strcpy(#tx[0], text);
int sz=size(#tx[0]);
int sh;
for(int n=0; n<sz; n++)
{
sh=0;
if (tx[n]==':' || tx[n]=='_'){keydown(SHIFT);sh=1;}//Тут символы надо для набора которых нажать шифт
key(tx[n]);
if (sh==1)keyup(SHIFT);
}
}

Це відео бота для DarkOrbit зробленого в Кібор.

На форумі ще багато прикладів ..

Подякували: 0xDADA11C7, Replace2

12 Востаннє редагувалося VTrim (22.10.2014 16:20:40)

Re: Кібор - інтегроване середовище розробки ботів.

Потужний інструмент. Довго розробляли? На чому написаний?

13 Востаннє редагувалося Stratego (22.10.2014 16:35:05)

Re: Кібор - інтегроване середовище розробки ботів.

Кілька місяців. Ну за плечима був досвід написання свого некорисного, але робочого компілятора.
Сі++

Подякували: Torbins1

14

Re: Кібор - інтегроване середовище розробки ботів.

Тобто це окрема, написана вами мова (яка використовується в самому середовищі) чи якийсь двигун взято за основу та яким чином скрипт обробляється інтерпретатором?
Просто цікаво як це все працює :).

15 Востаннє редагувалося Stratego (22.10.2014 17:36:10)

Re: Кібор - інтегроване середовище розробки ботів.

Повністю все моє, написане в Visual Studio 5.
Синтаксис навмисно зробив Сі подібним, хоча міг вигадати що завгодно.

Подякували: VTrim, 0xDADA11C72

16

Re: Кібор - інтегроване середовище розробки ботів.

За цей час Кібор дуже просунувся. Останнє оновлення це візуальний редактор генератор скриптів.
Поки пре-альфа, але цілком працездатний.
Принцип роботи - користувач малює на полотні у вільному стилі логічну схему бота і за цією схемою з генерується готовий до запуску скрипт.
Робота з редактором дуже проста і по силам будь-якому користувачеві в очі не бачив ніякої мови програмування.
Відео роботи - https://youtu.be/xgALgGQcKKc
http://kibor-bot.com/imagesop/visual-kibor.jpg

Подякували: 0x9111A, Blast, P.Y., quez, Betterthanyou5

17 Востаннє редагувалося Stratego (14.09.2016 11:52:17)

Re: Кібор - інтегроване середовище розробки ботів.

Викладаю відео як без програмування створювати ботів в Кібор на прикладі бота для taxi money. Бот створений в візуальному редакторі.
https://youtu.be/C2put6M2JT8
Схема цього бота в візуальному редакторі Кібор
http://kibor-bot.com/imagesop/bot_taxi_mani_kibor.jpg

Подякували: 0xDADA11C7, Betterthanyou2

18 Востаннє редагувалося Stratego (15.12.2016 19:43:34)

Re: Кібор - інтегроване середовище розробки ботів.

На цьому відео я зняв створення бота для Даркорбіт в візуальному редакторі Кібор.
Пояснюється як у візуальному редакторі використовувати діалогові вікна, створювати функції, впроваджувати блоки коду для реалізації логіки.
Показани нюанси підготовки шаблонов зображень в графічному редакторі Кібор.
Відео створення бота - https://youtu.be/k9WnCJaRckg
Схема бота в візуальному редакторі
http://kibor-bot.com/imagesop/vizual_red_do_bot.jpg

Подякували: 0xDADA11C7, Betterthanyou, DW3

19

Re: Кібор - інтегроване середовище розробки ботів.

Демонстрація створення бота для Hay Day

Бот створюється без програмування в візуальному редакторі Кібор.

Пояснюється робота даної схеми бота, пояснюється як правильно вибирати потрібні функції аналізу екрану в цій грі, як готувати необхідні шаблони зображень і отримувати оптимальні параметри пошуку потрібних об'єктів.
Демонструється робота готового бота, який сіє зерно, збирає урожай і при необхідності переміщається в крамницю де все продає.

Відео створення бота можна подивитися тут
https://youtu.be/4PbKCs3ujYA

http://kibor-bot.com/imagesop/bot_hayday_kibor.jpg

Подякували: 0xDADA11C71

20

Re: Кібор - інтегроване середовище розробки ботів.

а є відео українською мовою? а то я не розумію собачої

All you want is a dingle,
What you envy's a schwang,
A thing through which you can tinkle,
Or play with, or simply let hang...
Подякували: 0xDADA11C71