ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

01.03.2009, 21:09
|
|
Новичок
Регистрация: 05.12.2008
Сообщений: 29
Провел на форуме: 712416
Репутация:
60
|
|
Хороший спамер! Единственое что не очень хорошо зделано - при подстановки имени подставляется имя ник и фамилия. что уменьшает ефективность рассылки.
Если кому нужно вот в этой версии я попытался исправить, теперь подстанавлеваетса только имя
PHP код:
use strict;
use warnings;
use HTTP::Cookies;
use LWP::UserAgent;
use threads;
use threads::shared;
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
my $afile = './accs.txt' ; # Аккаунты
my $dlmtr = ':' ; # Разделитель
my $tfile = './text.txt' ; # Текст ( <name> - подстановка имен; <link> - подстановка ссылок)
my $lfile = './link.txt' ; # Ссылки (без http://)
my $pfile = './prxy.txt' ; # Прокси ip:port (HTTP) (без прокси - капча при авторизации)
my $pswth = 0 ; # 0 - не использовать прокси; 1 - использовать прокси
my $mmode = 1 ; # 0 - стена; 1 - ПМ
my $smode = 0 ; # 0 - друзья; 1 - диапазон
my $range = '1000000-2000000' ; # Диапазон для второго режима
my $thrnm = 70 ; # Потоки
my $sltm = 4 ; # Задержка
my $key = 'key' ; # Ключ анти-капчи
my @subs = qw(12 28 29 30 34) ; # Коды символов рандомизации текста
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
my @accs = loadf($afile); my $asize = scalar @accs;
my @text = loadf($tfile); my $tsize = scalar @text;
my @link = loadf($lfile); my $lsize = scalar @link;
my @prxy = loadf($pfile); my $psize = scalar @prxy;
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
mkdir 'tmp', 777;
$| = 1;
my @trl = ();
my $start : shared = undef;
my $end = undef;
my $seed : shared = 0;
my $totl : shared = 0;
($start, $end) = split /-/, $range;
my @cookies : shared = ();
$thrnm > $asize ? $thrnm = $asize : ();
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
header();
for(0..$thrnm-1) {$trl[$_] = threads->create(\&sendit, $_);}
for(@trl) { $_->join; }
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub sendit {
my ($ua, $ck) = browser();
while(1) {
my $to = undef;
{lock($seed); $to = $seed; ++$seed;}
if($pswth){until(proxyme($ua)){}}
until(auth($ua, $ck, $to)){{lock($seed); $to = $seed; ++$seed;} sleep 1;}
my $uid = undef; my $ret = undef;
if($smode) {
$start > $end ? return : ();
{lock($start); $uid = $start; ++$start;}
lo("Sending to ".$uid);
$ret = $mmode ? pm($ua, $uid) : wall($ua, $uid);
analyze($ret, $uid, $ck);
sleep $sltm;
}
else {
$seed > $asize ? return : ();
my $frlist = $ua->get('http://vkontakte.ru/friend.php')->content;
while($frlist =~ /\[(\d+), \{/g) {
$uid = $1;
lo("Sending to ".$uid);
$ret = $mmode ? pm($ua, $uid) : wall($ua, $uid);
analyze($ret, $uid);
sleep $sltm;
}
}
}
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub analyze {
my ($ret, $uid, $ck) = @_;
if(!$ret) {
lo(" smth wrong ".$uid);
}
elsif($ret =~ /var page = 0/) {
lo(" smth wrong[Deleted] ".$uid);
}
elsif($ret =~ /Location: search/) {
lo(" smth wrong[Privacy] ".$uid);
}
elsif($ret =~ /email" val/) {
lo(" smth wrong[Auth] ".$uid);
}
elsif($ret =~ /blank\.php\?code=3/) {
lo(" smth wrong[Limit] ".$uid);
}
elsif($ret =~ /blank\.php\?code=2/) {
lo(" smth wrong[Spam] ".$uid);
}
elsif($ret =~ /blank\.php\?code=1/) {
lo(" smth wrong[Privacy] ".$uid);
}
elsif($ret =~ /blank\.php/) {
lo(" smth wrong[Timeout] ".$uid);
}
elsif($ret =~ /Location: profile\.php\?id/) {
lo(" sent ".$uid);
{lock($totl); ++$totl;}
}
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub pm {
my ($ua, $id) = @_;
my $data = $ua->get('http://vkontakte.ru/mail.php?act=write&to='.$id)->content;
$data =~ /secure" value="(.+?)"/; my $secure = $1;
$data =~ /chas" value="(.+?)"/; my $chas = $1;
$data =~ /photo" value="(.+?)"/; my $photo = $1;
$data =~ /profile\.php\?id=(\d+)" >([^\s]+)\ .*<\/a><\/td>/; my $name = $2;
if(defined $secure && defined $chas && defined $photo) {
$data = $ua->post('http://vkontakte.ru/mail.php',
{
secure => $secure,
chas => $chas,
photo => $photo,
to_id => $id,
to_reply => 0,
act => 'sent',
title => '',
message => text($name),
})->content;
return $data;
}
else {
return $data;
}
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub wall {
my ($ua, $id) = @_;
my $data = $ua->get('http://vkontakte.ru/id'.$id)->as_string;
$id = undef;
$data =~ /to_id" value="(\d+)"/; $id = $1;
$data =~ /wall_hash=(.+?)&/; my $hash = $1;
$data =~ /\| (.+?)<\/title>/; my $name = $1;
sleep 1;
if(defined $hash && defined $id) {
$data = $ua->post('http://vkontakte.ru/wall.php',
{
to_id => $id,
act => 'sent',
wall_hash => $hash,
message => text($name),
})->as_string;
return $data;
}
else {
return $data;
}
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub text {
my $name = $_[0];
my $txt = tenc($text[int rand $tsize]);
my $url = lenc($link[int rand $lsize]).' ';
$txt =~ s/<link>/$url/g;
$txt =~ s/<name>/$name/g;
return $txt;
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub tenc {
my ($data) = @_;
my @data = split //, $data;
my @atad = ();
my $skip = 0;
foreach my $char(@data) {
if($char eq '<') {$skip = 6;}
if(!$skip) {
int rand 3 == int rand 2 ? $char .= chr($subs[int rand scalar @subs]) : ();
}
push @atad, $char;
}
return join "", @atad;
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub lenc {
my ($data) = @_;
my @data = split //, $data;
my @atad = ();
my $skip = 0;
foreach my $char(@data) {
if($char eq '.') {$skip = 2;}
if(!$skip) {
int rand 2 == int rand 3 ? $char .= chr(173) : ();
}
else {$char .= chr(173);}
push @atad, $char;
}
return join "", @atad;
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub collect {
my ($ck) = @_;
my $cck = undef;
while($ck =~ /Set-Cookie: (.*?);/g) { $cck .= $1."; "; }
{lock(@cookies); push @cookies, $cck;}
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub auth {
my ($ua, $ck, $seed) = @_;
$ck->clear();
if ($seed < $asize) {
my ($login, $passw) = split /$dlmtr/, $accs[$seed % $asize];
my $res = $ua->post('http://vkontakte.ru/login.php',
{
email => $login,
pass => $passw,
})->as_string;
if($res =~ /csid" value=(.+?)>/)
{
my $sid = $1;
my $dig = captcha($ua, $sid);
$res = $ua->post('http://vkontakte.ru/login.php',
{
email => $login,
pass => $passw,
csid => $sid,
ccode => $dig,
})->as_string;
if($res =~ /remixpass=\S{32};/) {
collect($res);
lo("[+] ".$login);
return 1;
}
else {
lo("[-] ".$login);
splice @accs, $seed % $asize, 1;
$asize = scalar @accs;
return 0;
}
}
elsif($res =~ /remixpass=\S{32};/) {
collect($res);
lo("[+] ".$login);
return 1;
}
else {
lo("[-] ".$login);
splice @accs, $seed % $asize, 1;
$asize = scalar @accs;
return 0;
}
}
else {
lo('Using cached cookies ['.$seed.']');
$ua->default_header('Cookie' => $cookies[$seed % scalar @cookies]);
return 1;
}
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub lo {
print localtime()." @_\n";
print "[total sent: $totl]\r";
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub header {
print <<HERE;
############################################################
#### Vkontakte.ru sender ####
#### v 0.1 by Kaimi ####
#### ICQ 1003875 ####
############################################################
HERE
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub loadf {
open F, "<", $_[0] || die $_[0].'-'.$!;
chomp(my @data = <F>);
close F;
return @data;
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub browser {
my $ua = new LWP::UserAgent;
my $ck = new HTTP::Cookies;
$ua->cookie_jar($ck);
my @array = ();
$ua->requests_redirectable(\@array);
return $ua, $ck;
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub captcha {
my ($ua, $sid) = @_;
my $res = $ua->get('http://vkontakte.ru/captcha.php?sid='.$sid)->content;
my $file = int(rand(1000))."capt.jpg";
open F, '>', './tmp/'. $file || warn $!;
binmode F; print F $res;
close F;
my $answ = recognize($file);
return $answ;
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub recognize {
my $file = $_[0];
my $ua = new LWP::UserAgent;
my $data = undef;
lo('Recognizing captcha...');
TRY:
my $res = $ua->post( "http://vip.anti-captcha.com/in.php",
Content_Type => 'form-data',
Content => [ file => ['./tmp/'. $file, $file, "Content-Type" => "application/octet-stream"],
method => "post",
key => $key,
])->content;
if($res =~ /OK\|(\d+)/) {
my $akey = $1;
do {
$data = $ua->get("http://vip.anti-captcha.com/res.php?key=$key&action=get&id=$akey")->content; sleep 5;
lo(" Waiting response...");
}
while($data =~ /CAPCHA_NOT_READY/);
$data =~ /OK\|(.*)/; $data = $1;
}
elsif($res =~ /ERROR_KEY_DOES_NOT_EXIST/) {lo('Invalid key'); exit(0);}
elsif($res =~ /ERROR_NO_SLOT_AVAILABLE/) {lo('Waiting for slot'); sleep 2; goto TRY;}
elsif($res =~ /ERROR_ZERO_CAPTCHA_FILESIZE/) {lo('Captcha upload error'); sleep 1; goto TRY;}
else {$res =~ /\n\n(.*)/s; lo('Got error: '.$1);}
lo(" Recognized $data");
unlink './tmp/'. $file;
chomp $data;
return $data;
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub proxyme {
my ($ua) = @_;
my $seed = int rand $psize;
my $cp = $prxy[$seed];
$ua->proxy(['http'] => 'http://'.$cp);
my $test = $ua->get('http://r0.ru/')->content;
if($test =~ /Rambler/) {
lo("Using proxy: $cp");
return 1;
}
else {
lo("Bad proxy: $cp");
splice @prxy, $seed, 1;
return 0;
}
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
sub debug {
open F, ">>", "debug.txt";
print F $_[0]."------------------------------\n\n";
close F;
}
#¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
#(c)Kaimi
Kaimi подскажи плиз как подправить ошибку которая вылазит при спаме ( use of uninitialized value $name in substitution (s///) C:\Documents and Settings\admin\spam\vk.pl line 159)
Последний раз редактировалось eXmasteR; 01.03.2009 в 22:37..
|
|
|

01.03.2009, 22:03
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 94
Провел на форуме: 999862
Репутация:
19
|
|
респект kaimi хороший спамер !
|
|
|

02.03.2009, 15:01
|
|
Участник форума
Регистрация: 29.08.2007
Сообщений: 152
Провел на форуме: 403740
Репутация:
54
|
|
D:\>perl D:\pack\send.pl
readline() on closed filehandle F at D:\pack\send.pl line 271.
readline() on closed filehandle F at D:\pack\send.pl line 271.
readline() on closed filehandle F at D:\pack\send.pl line 271.
readline() on closed filehandle F at D:\pack\send.pl line 271.
################################################## ##########
#### Vkontakte.ru sender ####
#### v 0.1 by Kaimi ####
#### ICQ 1003875 ####
В чем может быть проблема?
|
|
|

02.03.2009, 15:08
|
|
Участник форума
Регистрация: 27.11.2007
Сообщений: 282
Провел на форуме: 1435337
Репутация:
109
|
|
мб с проксями..
|
|
|

02.03.2009, 15:10
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
В чтении файлов с данными проблема
|
|
|

02.03.2009, 17:16
|
|
Banned
Регистрация: 24.01.2009
Сообщений: 52
Провел на форуме: 1379668
Репутация:
74
|
|
блин, нах его в паблик то?....рррррр.....
|
|
|

02.03.2009, 18:08
|
|
Познающий
Регистрация: 22.02.2009
Сообщений: 71
Провел на форуме: 1366304
Репутация:
63
|
|
Объясните пожалуйста, как его запускать???
|
|
|

02.03.2009, 18:51
|
|
Участник форума
Регистрация: 20.05.2008
Сообщений: 144
Провел на форуме: 1436858
Репутация:
171
|
|
Сообщение от mortician
Объясните пожалуйста, как его запускать???
Началось
За спамер, спасибо 
|
|
|

02.03.2009, 19:01
|
|
Новичок
Регистрация: 01.12.2008
Сообщений: 20
Провел на форуме: 627285
Репутация:
9
|
|
Сообщение от d_x
Сюда можно поставить что угодно. Тогда и рандомизироваться сообщение будет как пожелаешь.
а не подскажешь как сделать что бы в качестве рандомизации подставлялся Md5 код в конце сообщения? как в твоем спамере)
|
|
|

02.03.2009, 22:58
|
|
Познающий
Регистрация: 22.02.2009
Сообщений: 71
Провел на форуме: 1366304
Репутация:
63
|
|
Сообщение от BuG_4F
Началось
За спамер, спасибо 
Так трудно сказать что ли??? Можно в личку
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|