Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Написание instant messaging Бота на AutoIt

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8

Открыть новую тему     Написать ответ в эту тему

ynbIpb



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дабы на захламлять основную тему по AutoIt, было решено вывести это обсуждение в отдельную тему.
 
Написание instant messaging Бота на AutoIt

(Writing instant messaging Bot on the AutoIt)

 
Цель:

Написание бота под протоколы популярных  instant messaging сервисов. ( ICQ, Jabber, MRA и т.д.)  
В которого будут входить функции удалённого управления компьютером, на котором бот запущен.
Никаких зловредных функций и скрытой работы! (мы не троян пишем)
Какие команды будут полезны?
- получить список процессов
- список файлов в определённой директории
- выключение\перезагрузка компьютера
- скачивание файла из интернета
- копирование, перемещение, удаление файлов
- запуск файлов
- запуск\остановка служб
- работа с реестром
- компиляция и выполнение произвольного кода AutoIt, переданного в сообщении

 
Первые наработки:  
JabberXML_UDF.rar от sproxy
icqbot от vicbox777 (обновлённая версия)
 
Готовые функции:  
показ сообщения на компьютере, список файлов\папок, удаление файлов и определение дисков, список процессов с путями
 
Ссылки по теме:
  • _TocLib, a library for TOC Protocol, Talk to AIM servers with event-based options
  • instant messaging bot, no not a spamming project
  • How to use this dll, Jabber client
  • YMSG Protocol Support (Yahoo-Oo-oO!)
  • написание ICQ Control'a на Visual Basic
     
  • XMPP Standards Foundation
  • Programming Jabber
  • Протоколы прикладного уровня: Jabber/XMPP часть1

  • Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 21:34 12-04-2009 | Исправлено: ynbIpb, 00:03 18-08-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    а серьезней:....
     
    Пообщайтесь с русским разработчиком из команды миранды.
    Что бы определить:
     
    Какая dll (модуль/плагин) отвечает за отправку/получение новых сообщений.
    И есть ли возможность её использовать в стороннем продукте (думаю да, так как миранда GNU GPL).
    + есть исходный код.
     
    Или, как уже писал, пообщаться с любителями делать сборки, - там то уж точно знают и расскажут какой фалик за что отвечает ))
    -----------------------
    в если вариантов с dll не найдется, с удовольствием помогу развивать идею по Qip фрону =)

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 22:06 12-04-2009
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
     
    Какая dll (модуль/плагин) отвечает за отправку/получение новых сообщений.
     

    Я вот не знаю вообще реальзуемо ли это. а так наверное всё запихано в ICQ.dll
    Жаль к ней документации нет, какие вызовы и тд, как например в bass.dll была справка (очень всё подробно)
     
    Вот ещё коечто: JabberCOM

    JabberCOM является Win32 COM компонентом, который можно использовать для очень быстрого создания Jabber клиентов. Он воплощает все XML парсинг и интерпретации, и весь сокет код. Он обеспечивает лёгкость в использовании событий и методов, разрешает любое количество клиентов, для легкого и быстрого создания в любой Win32 среде разработки.

    (перевёл как смог
    У этого хоть документация есть...
     
    Добавлено:
    Первый тупой набросок на миранде

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 22:23 12-04-2009 | Исправлено: ynbIpb, 09:37 13-04-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    ICQ.dll

    у нее есть документация, правда наврядтли найдется что нить новое, всеж это нелегально получается...
    А вот работать с мирандой - смотря как у нее релизованноо..
     
    Добавлено:
    вот пример...
    хз, с Си не знаком, хотя и разобраться не долго.
    но вот как это прикручивается к сайту? ...для меня пока загадка )))
     
    в общем думаю пообщаться с людьми, в комментах были посты, кто то что то крутил
    на php (это для меня понятней будет) - а значит далее можно разобраться как и че там...

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 23:35 12-04-2009
    vicbox777



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я вот пользуюсь Qip и вот набрел на ссылку http://forum.qip.ru/showthread.php?t=9060 данная прога токо перехвачивает сообщения из запущенного Qip, и может запускать разные файлы...по указаным ранее командам. Да, если бы можно было напрямую как то сделать чтобы конвертик с qip-a не маячил...

    Всего записей: 165 | Зарегистр. 17-06-2008 | Отправлено: 00:16 13-04-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    а вот и под PHP библиотека.
    все работает через замечательный XML - отправлет в нем и в нем же принимает.
     
    по идее AutoIt с этим справится.
    пока не нашел документации....но уже можно рыть XMPPHP и на его примере тестить...
     
    Добавлено:
    icq - сплошной гемор, частое обновление - частые правки.
    в этом случае jabber актуальнее.
     
    Добавлено:
    Вооот то что нужно !!

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 00:18 13-04-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Интузиазм и новые идеи это конечно хорошо, но...
    Я если честно вообще суть всего этого не понимаю... зачем нужен бот для программ, в которых люди обычно общаются? Я ровно также не понимаю смысл игровых ботов... интереснее же самому поиграть , чем на ботов всё вешать .
     
    P.S
    Сорри за некий офтоп.


    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:52 13-04-2009
    timsky



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    _TocLib, a library for TOC Protocol, Talk to AIM servers with event-based options
    http://www.autoitscript.com/forum/index.php?showtopic=42832
     
    Добавлено:
    Вот эта либа вроде что надо
     
    ViSiToR
    О некоторых событиях очень удобно получать мессагув асю.

    Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 01:55 13-04-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ViSiToR
    а) лично мне нужна прогу - интернет мессенжер - для своего сайта.
    можно делать:
    1. чтение/отправка через _INetGetSource
    2. чтение rss/отправка _INetGetSource
    3. чтение/отправка напрямую через базу
    4. наилучшее решение - icq, jabber.
     
    покачто нашел оооооочень много негативных отзывов про написание под icq (в принципы мне и не принципиально) )))
     
     
    б) а в целом - это же мега решение! любая програ на AutoIt работающая с интернетом - получает мощное
    информационное средство + удаленного управления!!!  
    причем очень тривиальное и не требующа большой специфики - как скажем напрямую через сокеты.
    хотя в этом и минус - стороний сервис, зависимость от него. но как показывает практика - jabber (да и icq) работают хорошо.
     
    Добавлено:
    timsky 01:55 13-04-2009
    Цитата:
    _TocLib, a library for TOC Protocol, Talk to AIM servers with event-based options  
     http://www.autoitscript.com/forum/index.php?showtopic=42832

    или уже старая UDF или туплю - пример, не заработал:
    Подробнее...
     
    Добавлено:
    даже зарегистрировал AIM SN...
     
    Добавлено:
    ошибка подключения: _TocLogin @error = 2
     
    Добавлено:
     
    Работает если переправить функцию _TocLogin вот так:

    Код:
    Func _TocLogin( $sUser, $sPass, $fFinalize=true, $sTocServer="toc.oscar.aol.com", $iTocPort=9898, $sAuthServer="login.oscar.aol.com", $iAuthPort=5190)

     
    т.е. другой сервер подключения
     
    Добавлено:
    Web AIM клиент
    самому себе отправляю, и все отображается там.
     
    Добавлено:
     
     
    Вопрос с поиском работающей библиотеки на 50%. (хотя думаю jabber лучше)
    Но если найчится отправлять таким метод на ICQ,  Jabber и т.д. - то будет гууд.
    По умочанию AIM отлично работает с ICQ (что не удивительно ),
    а как этого добиться через _TocLogin пока не знаю..

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 05:44 13-04-2009
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Я если честно вообще суть всего этого не понимаю... зачем нужен бот для программ, в которых люди обычно общаются?

    Ну это не совсем такой бот. Есть боты которые имитируют живого человека отвечая на сообщения. В нашей же ситуации - это инструмент удалённого контроля.
    Допустим у меня на работе сервер. и вдруг там упала какаято важная служба, и он бы сразу отстучался, я бы дал команду на перезагрузку или запуск этой службы.
    Хороший пример вот: этот бот, но НЕ используйте его!. Там скрытый бэкдор, тоесть сам автор может послать ему команду на загрузку любого файла например и скачать трояна к вам на комп. И этот бот всёже больше для зловредных целей мне кажется, так как у него скрытый режим работы, наша цель не эта. никаких троянских действий.
    timsky
    sproxy, круто _TocLib.au3 рабочий. только UTF-8 не знает. иероглифы прут, если в своём клиенте отрубить UTF, то всё ок
    И пугает его древность...

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 08:37 13-04-2009 | Исправлено: ynbIpb, 11:54 13-04-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    в общем, думаю самое правильное, изучать работу джаббера по Xml....
     
    Добавлено:
    ynbIpb
    зы - в общем брать исходники миранды и зубрить с++ )))))))))))

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 08:52 13-04-2009 | Исправлено: sproxy, 08:58 13-04-2009
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Эххх... знал бы я другие языки, не работал бы с автоитом.
    Для меня автоит это предел возможностей.
    А может попробовать на  JabberCOM сварганить? Хотя он ещё древнее 2002 год )))
    Пока не появится человек, который более менее может поковырять исходники миранды и на их основе не написать UDF, будем юзать AIM'овскую...
    Я вот только не догоняю: в чём разница между аимом и аськой?

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 09:14 13-04-2009 | Исправлено: ynbIpb, 09:15 13-04-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ynbIpb 09:14 13-04-2009
    Цитата:
    Я вот только не догоняю: в чём разница между аимом и аськой?

    AIM
    ICQ
     
    т.е. ICQ это подразделение AOL (AIM).
    Мэссенжеры: AIM и ICQ обслуживает одна и та же сеть (сервера).
    По идее у них полностью одинаковый протокол (+/- отличия по специфике).
    У AIM номера буквенный (AIM SN), пример: myname
    У ICQ номера циферные (UIN), пример: 123321123
     
    А с этой UDF, пока не разобрался как принимать сообщения.
    + что то не отправляется через QIP на AIM, если он не в сети, а он не в сети если зайти с этой UDF....
     
    undefined
    Цитата:
    Эххх... знал бы я другие языки, не работал бы с автоитом.  
     Для меня автоит это предел возможностей.

    не все так сложно, как кажется - там то же как и в AU все просто.
    Главное разобраться )) ...было оно время.......эххххххххх
     
     
    Добавлено:
     
    C Джабером не все так сложно.
    Там банально:
    1. сокет подключение на джабер сервер  
    2. создает строка в xml и отправляется...
     
    вот только документацию на его парсер не могу найти....все только на си вокруг.....
     
    Добавлено:
     
    в общем вот так все делается.
    вполне простой пример на php
     
    вечерком попробую...

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 10:27 13-04-2009
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    А с этой UDF, пока не разобрался как принимать сообщения.

    Офлайн сообщения не принимает.
    А вот когда вошёл я вижу его онлайн и спокойно шлю ему сообщения и отвечаю. (вводил в UDF обычный асечный UIN) Прикрутил к этому примеру ini файлик.


    Код:
    #include <file.au3>
     ; Проверяем наличие ini файла, если нет создаём.
     If Not FileExists("bot.ini") Then
     _FileCreate ("bot.ini")   ;создаём ini файл
        $File = FileOpen ( "bot.ini", 1 )
        ;и пишем в него всю структуру
        FileWrite ( $File, "[account]"&@CRLF&"uin="&@CRLF&"pass="&@CRLF&"[master]"&@CRLF&"uin1=")
        FileClose ($File)
    EndIf
    ;читаем из ini файла уин, пароль и уин хозяина
    Global $myUser = IniRead ( "bot.ini", "account", "uin", "NotFound")
    Global $myPass = IniRead ( "bot.ini", "account", "pass", "NotFound")
    Global $targetUser = IniRead ( "bot.ini", "master", "uin1", "NotFound")


    Интересно его наверное не сложно обучить понимать UTF-8 ?
    Одной команде я его уже обучил ))
    Посылаю !process, возвращает список процессов.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 12:31 13-04-2009 | Исправлено: ynbIpb, 12:55 13-04-2009
    kirmalex

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нашел книгу по граф. интерфейсу в Делфи. Если кому надо http://letitbit.net/download/5a573f637667/-----------GUI.djvu.html

    Всего записей: 14 | Зарегистр. 03-04-2009 | Отправлено: 13:40 13-04-2009
    timsky



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    или уже старая UDF или туплю - пример, не заработал

    По-любому старая. С тех уже сколько раз в протоколе всякого наковыряли.
    Мне кажется, что охотнее всех помогут девелоперы ICQ.dll официальных / альтернативных от Миранды.
    К тому же вроде есть Джабер-АСЯ гейты?
    А еще интересна возможность прикрутить IRC к Автоиту

    Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 14:06 13-04-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    timsky 14:06 13-04-2009
    Цитата:
    А еще интересна возможность прикрутить IRC к Автоиту

    на офф форуме походу была разработка...
     

    Цитата:
    Мне кажется, что охотнее всех помогут девелоперы ICQ.dll официальных / альтернативных от Миранды.

    да, думаю стоит, вечером поищу точные контакты..
     
    + еще неопробован джаберр

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 14:36 13-04-2009
    vicbox777



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Интересный компонент TICQClient описан на сайте http://progs.volkov.spb.su/ticqclient/ Но...опять таки - Delphi!

    Всего записей: 165 | Зарегистр. 17-06-2008 | Отправлено: 17:43 13-04-2009
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да он выполнен в виде компонента. И афтор его уже не поддерживает.
    У меня тут ещё мысль возникла: А что если выхватывать команды из памяти процесса месенджера? И тогда можно юзать свой любимый клиент, а скрипт будет следить за ним и ловить наше сообщение (команду)
    А _TocLib более мене сносная UDF , глюки конечно наблюдаются (пропускает сообщения входящие, смысле через раз доходят), но для тренировки самое то. он у меня уже умеет 2 команды выполнять:  список процессов и список файлов в папке.
    Как я понял TOC это вообще другой протокол и создан специально для девелоперов, они и сервер ему отдельный выделили. Кстати там написано что порт другой: toc.oscar.aol.com:9898, поменял и с ним работает норм.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 18:46 13-04-2009 | Исправлено: ynbIpb, 19:38 13-04-2009
    timsky



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот здесь неамло полезной инфы:
    http://forum.asechka.ru/showthread.php?t=17895
    Пофиксенный вроде TICQClient здесь:
    http://forum.asechka.ru/showthread.php?t=97186&page=24
     
    Вот еще интересная штучка:
    http://www.climm.org/index.shtml.ru
     
    Добавлено:
    Судя по ФАКу даже Jabber (XMPP) поддерживает. И версия последняя от 2009-02-22

    Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 19:01 13-04-2009
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Написание instant messaging Бота на AutoIt


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru