Вообщем в связи с нехваткой времени врядли допишу поэтому предлагаю всем желающим продолжить/доработать (Open source в массы ))) Собственно идея заключалась в том что имеется список хэшей (md5), далее делается запрос на один из сервисов по расшифровке и запись ответа (если хэш расшифрован, если нет то на следующий сайт и т.д.) Code: #/usr/bin/perl -w #Flipper md5 brute v.0.3 beta use LWP::UserAgent; use LWP::Simple; use HTTP::Request; use HTTP::Response; use Digest::MD5 qw(md5_hex); use warnings; my @func = ('gdataonline','breaker','alimamed','security'); #имена процедур #$proxy = '127.0.0.1:8080'; my $ua = LWP::UserAgent->new; $ua->agent('User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11'); push @{ $ua->requests_redirectable }, 'POST'; if($proxy =~ m/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,6}/){ $ua->proxy('http', "http://$proxy/"); }; open(FILE,$ARGV[0]) || die "Error read file!"; my @hash = <FILE>; close(FILE); open(FILE,'>result') || die "Error file!"; $result = ''; for($i=0;$i<@hash;$i++) { @hash[$i]=~/([a-z0-9]{32})/; #Получаем хэш из строки foreach $item(@func) { eval ("\$result = $item('$1');"); #Последовательно вызываем процедуры print "RESULT = $result \n"; if ($1 eq md5_hex($result)) { #на всякий случай:-) print LOG "@hash[$i]:$result"; last; } #if } #foreach } #for close(LOG); sub gdataonline { $hash = $_[0]; $gethash= get("http://gdataonline.com/qkhash.php?mode=xml&hash=$hash"); $gethash=~ m/<status>(.*?)<\/status>/; if($1 eq Success){ $gethash=~ m/<result>(.*?)<\/result>/ && return $1; } } #gdataonline sub breaker { $hash = $_[0]; $gethash= get("http://ice.breaker.free.fr/md5.php?hash=$hash"); $gethash=~ m/<b><br><br> - (.+)<br><br><br>/; return $1; } #breaker sub alimamed { $hash = $_[0]; $gethash= get("http://alimamed.pp.ru/md5/?md5e=&md5d=$hash"); $gethash=~ m/MD5 расшифрован: <b>(.+)<\/b><br><form action="">/; return $1; } #alimamed sub security { $hash = $_[0]; my $req = HTTP::Request->new(POST=>"http://www.securitystats.com/tools/hashcrack.php"); $req->content_type('application/x-www-form-urlencoded'); $req->content("inputhash=$hash&type=MD5&Submit=Submit"); my $res = $ua->request($req); $content=$res->content; return $1; }#security
Список сайтов (будет желание реализуйте) Code: ttp://www.securitystats.com/tools/hashcrack.php http://www.tmto.org/?category=main&page=search_md5 http://www.csthis.com/md5/index.php http://www.xmd5.org/md5/getpass.asp?info=qwerty1 http://www.plain-text.info/search http://passcracking.ru/ http://www.hashchecker.com/index.php http://md5.rednoize.com/ http://us.md5.crysm.net/ https://www.astalavista.net/?cmd=rainbowtables http://ice.breaker.free.fr/md5.php?hash=d8578edf8458ce06fbc5bb76a58c5ca4 http://alimamed.pp.ru/md5/?md5e=&md5d=6dbd0fe19c9a301c4708287780df41a2 ---------------- md5.rednoize.com ice.breaker.free.fr www.hashreverse.com us.md5.crysm.net PS: Отдельно хотелось бы отметить сайт http://md5cracker.de/ собственно нечто подобное... + можно загружать файлы со списком хэшей размером до 100кб...