Code:
#!/usr/bin/perl
use Digest::MD5 qw( md5_hex );
use LWP::UserAgent;
use HTTP::Request::Common;
print "MD5 Hash ToolKit [mr.pr0n]";
#*************************** [Main Menu] ******************************
menu:;
print "\nMenu:\n";
print " 1. Create your MD5 Hash. \n";
print " 2. Crack your MD5 Hash with Dictionary Attack.\n";
print " 3. Crack your MD5 Hash with Brute Force Attack.\n";
print " 4. Search for your MD5 Hash.\n";
print " 5. Exit.\n";
print "\nOption: ";
$option=;
if ($option!=1 && $option!=2 && $option!=3 && $option!=4 && $option!=5)
{
print "Oups!Wrong Option!!\n";
goto menu;
}
# Epilogh Option
if ($option==1)
{&create_md5}
if ($option==2)
{&dic_attack}
if ($option==3)
{&brute_attack}
if ($option==4)
{&search_md5}
if ($option==5)
{&quit}
#****************************** [Option 1] ******************************
sub create_md5
{
$word;
print "MD5 Hash Creator\n";
print "Give me your word: ";
$word = ;
chomp($word);
print "MD5 Hash is: ", md5_hex("$word"), "\n\n";
goto menu;
}
#****************************** [Option 2] ******************************
sub dic_attack
{
print "MD5 [Worldlist] Cracker [mr.pr0n]\n";
print "Enter MD5: ";
chomp($hash = );
if(length($hash)!=32)
{
die "$hash is NOT valid\n";
}
$words="passes.txt";
open (WORDLIST, $words);
print "Wordlist opened successfully!\n";
@wordlist = ;
for ($i = 0; $i < @wordlist; $i++){
$h = $wordlist[$i];
chomp($h);
$dec=md5_hex($h);
if($dec eq $hash){
die "[+]Your password is: $h\n";}
}
print "[-]Not Cracked!!\n";
goto menu;
}
#****************************** [Option 3] ******************************
sub brute_attack
{
$min=1;
$max=10;
print "MD5 [BruteForce] Cracker [mr.pr0n]\n";
print "Enter Type: ";
chomp($type = );
if ($type=~"a") {
$alpha = "abcdefghijklmnopqrstuvwxyz";}
if ($type=~"A") {
$alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}
if ($type=~"1") {
$alpha = $alpha."1234567890";}
if ($type=~"!") {
$alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";}
print "Enter MD5: ";
chomp($md5 = );
if(length($md5)!=32)
{die "$md5 is NOT valid\n";}
for ($j=1; $j<=10; $j++)
{mainbrute ($j);}
sub mainbrute
{
$CharSet = shift;
@RawString = ();
for ($i =0;$i<$CharSet;$i++){ $Brute[i] = 0;}
do{
for ($i =0; $i<$CharSet; $i++){
if ($Brute[$i] > length($alpha)-1){
if ($i==$CharSet-1){
print "�?h Shit!\nNo Results with type '$type' and $Chars chars.\n";
$try=0;
return false;
}
$Brute[$i+1]++;
$Brute[$i]=0;
}}
$pass = "";
for ($i =0;$i<$CharSet;$i++)
{
$pass = $pass . substr($alpha,$Brute[$i],1);
}
$hash = md5_hex($pass);
$try++;
print "$hash ($pass)\n";
if ($md5 eq $hash)
{
print "\n**FOUND PASSWORD** [ $pass ]\nTried $try passwords \n";
goto menu;
}
$Brute[0]++;
}while($Brute[$CharSet-1]
}
goto menu;
}
#****************************** [Option 4] ******************************
sub search_md5
{
print "Search for your MD5 Hash\n";
print "(�?atch your MD5 hash with six most famous online databases)";
print "\nEnter MD5: ";
chomp($hash = );
if(length($hash)!=32)
{
die "$hash is NOT valid\n";
}
$lwp = LWP::UserAgent->new;
#**** [md5oogle]****
$crack = "http://www.md5oogle.com/decrypt.php?input=$hash&meta=01";
$request = $lwp->request(HTTP::Request->new(GET=>$crack));
$c = $request->content =~ /Result: (.*?)<\/b>/;
if ($c) {
print "[md5oogle] Password: $1\n";
} else {
#**** [md5decrypter]****
$url = 'http://www.md5decrypter.com/index.php';
$response = LWP::UserAgent->new->post( $url, [ "hash" => $hash ] );
die "$url error: ", $response->status_line
unless $response->is_success;
die "Weird content type at $url -- ", $response->content_type
unless $response->content_type eq 'text/html';
if( $response->content =~ /Normal Text: <\/b>(.+)/ ) {
print "[md5Decrypter] Password: $1\n";
} else {
#**** [passcracking]****
$url = 'http://passcracking.ru/index.php';
$response = LWP::UserAgent->new->post( $url, [ "datafromuser" => $hash ] );
die "$url error: ", $response->status_line
unless $response->is_success;
die "Weird content type at $url -- ", $response->content_type
unless $response->content_type eq 'text/html';
if( $response->content =~ /(.+)<\/td>/ ) {
print "[PassCracking] Password: $1\n";
} else {
#**** [hashchecker] ****
$url = 'http://www.hashchecker.com/index.php';
$response = LWP::UserAgent->new->post( $url, [ "search_field" => $hash ] );
die "$url error: ", $response->status_line
unless $response->is_success;
die "Weird content type at $url -- ", $response->content_type
unless $response->content_type eq 'text/html';
if( $response->content =~ /
print "[HashChecker] Password: $1\n";
} else {
#**** [Milw0rm] ****
$ua = $lwp->request(POST 'http://www.milw0rm.com/cracker/search.php',
[ hash => "$hash", Submit => 'Submit', ] );
@content = split(/[n]/, $ua->content);
@password = split( /[><]/, $content[47]);
if($password[1]) {
print "[Milw0rm] Password: $password[1]\n";
}else {
#**** [GdataOnline] ****
$gdo = $lwp->request(GET 'http://gdataonline.com/qkhash.php?mode=xml&hash='.$hash);
@content = split(/
@password = split( /[><]/, $content[1]);
if(@password[0]) {
print "[GdataOnline] Password: $password[0]\n";
}
else { print " Password Not Found!!"; }
}}}}}
goto menu;
}
#****************************** [Option 5] ******************************
sub quit
{
exit(1);
}
#****************************** [The End] *******************************
Save it as anything.pl
You must have Active Perl installed. Google it
Go to CMD and type:
cd [place where it is saved]
ex. cd Desktop
then: perl anything.pl
![[Image: wooo.jpg]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiCYwBdEqGHDSb1oDAKRKQqJwaYbR1dbzNeojQ-uGeHT1y9yTmbkTLqbmQw07bTGs-vfk9FZpsV8IcGM7ZkO36bfhsL6kvQ76m48ckqSHPiGOgNG66mjZpJT0q-viFF-hfg8bp9lvZRY6A/s410/wooo.jpg)
You must have Active Perl installed. Google it

Go to CMD and type:
cd [place where it is saved]
ex. cd Desktop
then: perl anything.pl
![[Image: wooo.jpg]](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiCYwBdEqGHDSb1oDAKRKQqJwaYbR1dbzNeojQ-uGeHT1y9yTmbkTLqbmQw07bTGs-vfk9FZpsV8IcGM7ZkO36bfhsL6kvQ76m48ckqSHPiGOgNG66mjZpJT0q-viFF-hfg8bp9lvZRY6A/s410/wooo.jpg)
No comments:
Post a Comment