Combinações de letras, números e muito mais
Publicado por Perfil removido (última atualização em 11/03/2010)
[ Hits: 22.507 ]
Este script foi desenvolvido para fazer todas as combinações possíveis de a-z A-Z 0-9 e espaço.
O script está em desenvolvimento, mas está em uma versão estável.
Para o script funcionar corretamente, o nome tem que prevalecer o mesmo, "dgfbrute.py", não que eu queira proteger o nome do script, mas é que ele faz uma verificação antes da execução para verificar os parâmetros.
Uso muito em brute force, pois você não precisa armazenar as senhas em arquivos, que em muitas combinações ocupam muito espaço.
Veja o manual do script chamando o mesmo sem parâmetros:
$ python dgfbrute.py
#!/usr/bin/env python # -*- encoding: utf-8 -*- # ______________________________________________________________________ # - Feito por: Douglas Giorgio Fim - | # - E-mail: dgf_skt@hotmail.com - | # - MSN: dgf_skt@hotmail.com - | # - Programa: dgfbrute.py - | # - Versao: 1.0 FINAL - | # - - | # - Este script pode ser alterado e distribuido por qualquer pessoa, - | # - desde que este quadro se mantenha inalterado! - | # - - | # - Obs.: Este script foi desenvolvido para gerar todas as - | # - combinações possiveis de a-z A-Z 0-9 e espaços. - | # ______________________________________________________________________| import sys # Exibição do manual def manual(): print 'DGF sistens' print 'dgfbrute 1.0 FINAL' print 'Usage: dgfbrute.py <option> <repetition>' print '' print ' OPTIONS:' print ' 1 = a-z' print ' 2 = A-Z' print ' 4 = 0-9' print ' 8 = space' print '' print ' To make the combinations, you should add the numbers <options> you want to combine' print '' print ' Ex:' print ' For the combination of a-z and A-Z calculate the numbers of options chosen' print ' 1 + 2 = 3 for a-z and A-Z' print ' 2 + 4 = 6 for A-Z and 0-9' print '' print ' For all possible combinations choose the number 15' print '' print '' print ' REPETITION:' print '' print ' Repetition is the number of columns' print ' Ex:' print ' $ python dgfbrute.py 4 2' print ' 0' print ' 00' print ' 01' print ' 02' print ' 03' print ' 04' print ' 05' print ' 06' print ' 07' print ' 08' print ' 09' print ' 10' print ' 11' print ' 12' print ' 13' print ' 14' print ' 15' print ' .' print ' .' print ' .' print ' ' print 'CREATED BY: Douglas Giorgio Fim ' print '' ## Definição das variaveis # VALOR: 1 letra1 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] # VALOR: 2 letra2 = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] # VALOR: 4 letra3 = ['0','1','2','3','4','5','6','7','8','9'] # VALOR: 8 letra4 = [' '] caractere=[''] volta=1 programa=(sys.argv) # Verifica a existencia da <option> e <repetition> if sys.argv == ['dgfbrute.py']: manual() sys.exit() else: try: argumento=int(sys.argv[1]) try: repeticao=int(sys.argv[2]) except: sys.exit() except: print 'Wrong Parameter' sys.exit() # E aqui onde faz as combinações def funcao(arg1,arg2): ANTERIOR=arg1 TOTAL=arg2 TOTAL=TOTAL-1 for num in range(volta): for LETRA in caractere[num]: MOSTRA=ANTERIOR+LETRA print MOSTRA if (TOTAL != 0): funcao(MOSTRA,TOTAL) # E aqui a chamada da recursividade # E aqui onde verifica as <options> if argumento <= 15: if argumento == 15: caractere=letra1+letra2+letra3+letra4 volta=63 else: if argumento >= 8: caractere=letra4+caractere volta=volta+1 argumento=argumento-8 if argumento >= 4: caractere=letra3+caractere volta=volta+10 argumento=argumento-4 if argumento >= 2: caractere=letra2+caractere volta=volta+26 argumento=argumento-2 if argumento == 1: caractere=letra1+caractere volta=volta+26 else: if argumento == 1: caractere=letra1+caractere volta=volta+26 else: if argumento >= 2: caractere=letra2+caractere volta=volta+26 argumento=argumento-2 if argumento == 1: caractere=letra1+caractere volta=volta+26 else: if argumento == 1: caractere=letra1+caractere volta=volta+26 else: if argumento >= 4: caractere=letra3+caractere volta=volta+10 argumento=argumento-4 if argumento >= 2: caractere=letra2+caractere volta=volta+26 argumento=argumento-2 if argumento == 1: caractere=letra1+caractere volta=volta+26 else: if argumento == 1: caractere=letra1+caractere volta=volta+26 else: if argumento >= 2: caractere=letra2+caractere volta=volta+26 argumento=argumento-2 if argumento == 1: caractere=letra1+caractere volta=volta+26 else: if argumento == 1: caractere=letra1+caractere volta=volta+26 else: print 'Invalid <option> number' # Chama a função 'funcao' com os valores <repetition> if repeticao != 0: funcao("",repeticao)
Problema das Oito Rainhas (Random)
Controle de Depósito com SQLite + Python
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Instalando Google Chrome no Ubuntu 24.04 LTS
Quantidade de caracteres suportados na barra de endereços dos navegadores
Como faço pra um script ser executado apenas abrindo um terminal e dan... (6)
Problema ao configurar Zabbix no ubuntu (9)
Iso win10 arm para galaxy book go NP34OXLA-K06BR (1)