Perl MD5 Cracker

lol. Works

#!/usr/bin/perl

use Digest::MD5 ‘md5_hex’;

@char = (’a’..’z', ‘A’..’Z',0..9,’`',’-',’=',’~',’!',’@',’$',’%',’^', ‘&’,'*’,'(’,')’,'_’,'+’,'{’,'}’,'|’,':’,'”‘,’<’,'>’,’ ‘);

print “Enter the MD5 hash…\n”;

chomp($hash = <STDIN>);
$hash =~ s/^\s+//g;
$hash =~ s/\s+$//g;

&bad_use unless length($hash) eq 32;
makelist();

sub makelist {

for ($br = 1; $br <= 12; $br++) {

for ($len1 = 0; $len1 <= 62; $len1++) {

$word[1] = $char[$len1];

for ($len2 = 0; $len2 <= 83; $len2++) {

$word[2] = $char[$len2];

if ($br <= 2) {

add(@word);

}

else {

for ($len3 = 0; $len3 <= 62; $len3++) {

$word[3] = $char[$len3];

if ($br <= 3) {

add(@word);

}

else {

for ($len4 = 0; $len4 <= 62; $len4++) {

$word[4] = $char[$len4];

if ($br <= 4) {

add(@word);

}

else {

for ($len5 = 0; $len5 <= 62; $len5++) {

$word[5] = $char[$len5];

if ($br <= 5) {

add(@word);

}

else {

for ($len6 = 0; $len6 <= 62; $len6++) {

$word[6] = $char[$len6];

if ($br <= 6) {

add(@word);

}

else {

for ($len7 = 0; $len7 <= 62; $len7++) {

$word[7] = $char[$len7];

if ($br <= 7) {

add(@word);

}

else {

for ($len8 = 0; $len8 <= 62; $len8++) {

$word[8] = $char[$len8];

if ($br <= 8) {

add(@word);

}

else {

for ($len9 = 0; $len9 <= 62; $len9++) {

$word[9] = $char[$len9];

if ($br <= 9) {

add(@word);

}

else {

for ($len10 = 0; $len10 <= 62; $len10++) {

$word[10] = $char[$len10];

if ($br <= 10) {

add(@word);

}

else {

for ($len11 = 0; $len11 <= 62; $len11++) {

$word[11] = $char[$len11];

if ($br <= 11) {

add(@word);

}

else {

for ($len12 = 0; $len12 <= 62; $len12++) {

$word[12] = $char[$len12];

if ($br <= 12) {

add(@word);

}

else {

for ($len13 = 0; $len13 <= 62; $len13++) {

$word[13] = $char[$len13];

if ($br <= 13) {

add(@word);

}

else {

for ($len14 = 0; $len14 <= 62; $len14++) {

$word[14] = $char[$len14];

if ($br <= 14) {

add(@word);

}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

sub add {

@entry = @_;

$ascii = join “”, @entry;

$md5 = md5_hex $ascii;

print $md5.”\n”;

if ($md5 eq $hash){

print “\nFound Hash: “.$ascii.”\n\n”;

exit;

}

}

sub bad_use {
print “Enter a valid hash\n”;
exit;
}

One Response to “Perl MD5 Cracker”

  1. a Says:

    B)

Leave a Reply