./c0de/perl/desplay.txt

0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
#!/usr/local/bin/perl
#DESBreak by Drusepth
print "Menu:\n>1-Encrypt A String into DES\n>2-Decrypt A String\n>3-How This Program Works\n";
print "Enter your choice.  >";
$choice = <STDIN>;
if ($choice == 1) {
   #Encrypt a String
   print "Enter the string to encrypt with DES.  ";
   $encrypt = <STDIN>;
   $tempe = $encrypt;
   print "Enter two letters to use as a salt to encrypt with: ";
   $saltines = <STDIN>;
   $encrypt = (crypt ($encrypt, $saltines));
   chop ($tempe);
   chop ($saltines);
   print "The string $tempe encrypts to $encrypt with the salt $saltines.\n";
}
if ($choice == 2) {
   #Decrypt a String
   print "Enter the string to decrypt:  ";
   $decrypt = <STDIN>;
   $salt = substr($decrypt, 0, 3);
   chop ($salt);
   chop ($decrypt);
   print "Enter the name of the external wordlist to use.\nLeave blank to use the default.  ";
   $ewordlist = <STDIN>;
   #Open a wordlist,
   chop ($ewordlist);
   if (length($ewordlist) > 0) {
      open (WORDLIST, "$ewordlist");
      @wordlist = <WORDLIST>;
   }
   if (length($ewordlist) == 0) {
      print "Opening default wordlist... \n";
      if (open (WORDLIST, "words.txt")) {
         print "Opened successfully.\n";
      } else {
         print "Couldn't open words.txt in this directory!";
      }
      @wordlist = <WORDLIST>;
   }
   #Start cracking!
   $counter = 1;
   for ($i = 0; $i < @wordlist; $i++) {
      $counter++;      
      $dec = $wordlist[$i];
      chop ($dec);
      if (crypt ($dec, $salt) eq $decrypt) {
         close (WORDLIST);
         die ("\nThe string $decrypt decrypts to $dec .\n");
      }
   }
   #If you run out of words on the wordlist...
   die ("\nThe decryption failed.  This may be caused by an insufficient wordlist\nfor your causes,a wrong inputted string, or maybe a typo. Program killed");
}
if ($choice == 3) {
   #How this program works
   print "\nThe encryption in this program uses Perl's built-in function of 'crypt'.\n";
   print "However, decrypting DES is a lot harder than encrypting it.\n";
   print "The way I have chosen to decrypt the strings is to encrypt a wordlist and\n";
   print "compare the wordlist encryption and the inputted string encryption.\n";
   print "If they are equal, then the program decrypts the word again, and displays\n";
   print "what the word is.  This may or may not take a while, depending on\n";
   print "the encrypted word's 'password strength' and the size of your wordlist.\n";
   print "The wordlist is your strength.  Use a good one.\n";
   print "The included script, makebrute.pl, will generate a brute forcing word \nlist for you.\n\n";
} 

Back