Combinações de letras, números e muito mais
Publicado por Perfil removido (última atualização em 11/03/2010)
[ Hits: 23.125 ]
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)
Gerador palpite Mega Sena v1.0
Jogo da forca criado em Python
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
É normal não gostar de KDE? (6)
Impressora epson l6270 não funciona em Linux mint (0)
esqueci a senha do boot do notebook dell vostro 3300 (3)









