- Código:
#!/usr/env python
# Cracker [ md5 ] Hash
# By MMxM
from sys import argv,exit
from hashlib import md5
from itertools import product
def usage():
print '''
[*] MD5 CRACKER BY MMXM
[+] [http://the-blackhats.blogspot.com]
[*] How to use: crack.py <aAns> <md5-hash> <min> <max>
-> a = all lowercase letters
-> A = all uppercase letters
-> n = all numbers
-> s = special characteres
min = Minimum of characters
max = Maximum of characters
'''
if len(argv) != 5:
usage()
exit(1)
if (len(argv[2]) != 32):
print '\n[-] invalid hash !!!'
usage()
exit(1)
arg = list(argv[1])
n = 0
for i in arg:
if i == "a":
n = n+1
elif i == "A":
n = n+2
elif i == "n":
n = n+4
elif i == "s":
n = n+8
else:
usage()
exit(1)
a = list("abcdefghijklmnopqrstuvwxyz")
A = list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
l = list("0123456789")
s = list("/$%&8@{}'!()=+-\"\._|;:,?[]")
if n == 0:
usage()
exit(1)
elif n == 1:
c = a
elif n == 2:
c = A
elif n == 4:
c = l
elif n == 8:
c = s
elif n == 3:
c = a+A
elif n == 5:
c = a+l
elif n == 9:
c = a+s
elif n == 6:
c = A+l
elif n == 10:
c = A+s
elif n == 12:
c = n+s
elif n == 7:
c = a+A+l
elif n == 11:
c = a+A+s
elif n == 15:
c = a+A+l+s
else:
usage()
exit(1)
mini = int(argv[3])
maxi = int(argv[4])
if mini > maxi:
usage()
exit(1)
try:
for nn in range(mini,maxi+1):
for i in product(c, repeat=nn):
a = (''.join(i))
print a
if md5(a).hexdigest() == argv[2]:
print '\n[+] Hash cracked !!!\n[*] %s = %s'%(argv[2],a)
exit(0)
print '\n[*] 100% complete\n'
exit(1)
except(KeyboardInterrupt):
print '\n[-] KeyboardInterrupt detected\n'
exit(0)
Participe do fórum, é rápido e fácil