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

22.07.2007, 12:17
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 228
Провел на форуме: 4325663
Репутация:
240
|
|
uin;pass генератор по маскам (Perl)
Доброго времени суток!
На досуге написал скрипт генератора пар uin;pass. И не стоит сразу кричать, что тема боян, таких генераторов уже туча, и т. д. Я преследовал скорее идею показать посетителям мощь и простоту языка Perl, нежели написать супер практический многофункциональный скрипт. Я хочу, чтобы новички в программировании познакомились з базовыми конструкциями языка, а все, кто еще не знаком с регулярными выражениями увидели их гибкость и простоту в решении практических задач.
PHP код:
#!/usr/bin/perl
$min = 100000;
$max = 999999;
$flag = 0; # Флаг маски
$pass; # Файл с паролями
$t_pass = 0;
$t_pair = 0;
welcome();
$destination = shift @ARGV;
open (OUT,">$destination");
while (($p ne "-f")&&($p ne "-p")&&($p=shift @ARGV))
{
if ($p eq "-i") { $a = shift @ARGV;if ($a =~ m/^\d*$/) {$min = $a }; $a = shift @ARGV; if ($a =~ m/^\d*$/) {$max = $a;}}
if ($p eq "-f") {$pass = shift @ARGV;open(IN,"$pass"); last;}
if ($p eq "-p") { last;}
if ($p eq "-m") { $p = shift @ARGV; if ($p eq "x"){$flag = 1}; if ($p eq "xy"){$flag = 2}; if ($p eq "xyz"){$flag = 3};};
}
if ($pass)
{
while(<IN>)
{
$t_pass++;
chomp;
go($_);
}
finish();
}
if ($p eq "-p")
{
while ($p = shift @ARGV)
{
$t_pass++;
go($p);
}
finish();
}
sub welcome()
{
print"\n UIN;PASS Generator\n";
print"\nUsage: \"perl gen.pl <output file> <options>\"\n";
print"\nOptions:\n";
print"-i Diapazon, example: \"perl gen.pl input.txt -i 10000 20000\"\n";
print"-m Mask, can be x, xy, xyz\n";
print"-f File with passwords in current dir\n";
print"-p Passwords separated by space\n";
print"\nExamples:\n";
print"perl gen.pl uin.txt -m xyz -f pass.txt\n";
print"perl gen.pl uin.txt -i 10000 50000 -p qwerty\n";
print"perl gen.pl uin.txt -m xy -p abc123 monkey grandpa\n";
print"perl gen.pl uin.txt -i 10000 30000 -m xyz -p myicqpass\n";
};
sub go()
{
for ($i = $min; $i <= $max; $i++)
{
if (!$flag) { print OUT "$i;$_[0]\n"; $t_pair++; };
if (($flag == 1)&&($i=~ m/^(\d)\1*$/)) { print OUT "$i;$_[0]\n"; $t_pair++; };
if (($flag == 2)&&($i=~ m/^(\d)\1*(\d)(\1|\2)*$/)) { print OUT "$i;$_[0]\n"; $t_pair++; };
if (($flag == 3)&&($i=~ m/^(\d)\1*(\d)(\1|\2)*(\d)(\1|\2|\4)*$/)) { print OUT "$i;$_[0]\n"; $t_pair++; };
}
};
sub finish()
{
print "\nSuccess!\n";
print "Generated $t_pair pairs with $t_pass pass and writed to $destination";
}
# Если не задана опция -i, тогда интервал по дефолту от 100000 до 999999
Возможности: генерация по маскам x, xy, xyz, использование файла с паролями, ведение статистики по количеству сгенерированных пар. Практичность том, что скрипт позволяет сгенерировать пары на удаленной тачке, если брут производится с дедика или захваченного сервера. ИМХО легче сгенерить файл на месте чем закачивать его на сервер.
|
|
|

22.07.2007, 13:38
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме: 1948091
Репутация:
1686
|
|
ну такой скрипт на месте накропать дело 1 минуты -- тупо два фора один с номерами др с пачкой пассов и вывод в файл - и все =)
|
|
|

22.07.2007, 13:54
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
genom--, да вы crazy coder =\
Тема баян...показывать простоту языка здесь совсем ни к чему..
Мб мне создать такое на пхп в 5 строк - покажу простоту языка пхп
|
|
|

22.07.2007, 15:11
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме: 1948091
Репутация:
1686
|
|
я в 1 строку могу -- ток она будет длинная )))
|
|
|

22.07.2007, 15:40
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
genom--, когда говорят про строки - имеется ввиду строка не больше 1000px в длину =)
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|