MD5 hash cracker - perl

Researching, Proof of Concepts, Hacking, Console Modding and Hacking and more. No game hacking / modding here.
Post Reply
User avatar
Sethioz
Admin
Admin
Posts: 4762
Joined: Fri Jul 27, 2007 5:11 pm
Custom: Gaming YT > https://youtube.com/SethiozEntertainment
Game Hacking YT > https://youtube.com/sethioz
Game Hacks Store > https://sethioz.com/shopz
Location: unknown
Contact:

MD5 hash cracker - perl

Post by Sethioz »

Heres a really simple md5 password hash cracker. I really dont know how useful it is .. because im using cain's and passpro's attacks...
which r way more better...
This cracker simply tries different hashes...

Code: Select all

#!/usr/bin/perl
     
    #makelist code copied because im too lazy to type it out, although slightly modified
    #leet style, w00t w00t
     
    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;
    } 
Post Reply