Muchas veces utilizamos un diccionario de claves grande pensando que es lo mejor, pero no nos detemos a pensar que en ese diccionario hay claves como "%" y si vemos con mas detalle la mayoria de los sitios restringen las claves a un minimo 5-7 caracteres.
Por tanto es importante limitar los diccionarios a las soluciones viables de una password, es por esto que cree Dictditor: Editor de diccionarios por medio de una exprecion regular.
El uso es muy simple:
Código:
Usage: python dictditor.py [options]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-i FILE, --input=FILE
Dictionary to modify
-o PATH, --output=PATH
Modified dictionary.
-r REGEX, --regex=REGEX
Regular expression to apply.
(En la url del final podran ver un ejemplo de su uso)
El proyecto en la actualidad lo estoy mejorando para poder reordenar el diccionario y a su vez para generar una base de datos online que permita crear diccionarios. Pero por ahora este es el codigo:
Código
__version__ = "1.0" __author__ = "3n31ch" __website__ = "http://www.elhacker.net/" import re from optparse import OptionParser def printError(error): print "[ERROR] ", error def dictditor(inputPath, outputPath, regex): inputFile = open(inputPath, "r") outputFile = open(outputPath, "w") pattern = re.compile(regex) for line in inputFile: word = line.replace("\n", "") if(pattern.match(word)): outputFile.write(line) inputFile.close() outputFile.close() return; def main(): print "DICTDITOR - Dictionary Editor" print "Author: ",__author__ print __website__ parser = OptionParser(usage="usage: python %prog [options]", version= "%prog "+__version__ ) parser.add_option("-i", "--input", dest="input", help="Dictionary to modify", metavar="FILE"); parser.add_option("-o", "--output", dest="output", help= 'Modified dictionary.', metavar="PATH"); parser.add_option("-r", "--regex", dest="regex", help= 'Regular expression to apply.', metavar="REGEX"); (options, args) = parser.parse_args() if options.input and options.output and options.regex: dictditor(options.input, options.output, options.regex) else: printError("All options are necessary"); parser.print_help() if __name__ == '__main__': main()
Link github: https://github.com/3n31ch/dictditor