Wordlist Pyhon

Iniciado por AngelFire, 8 Octubre 2017, 07:57 AM

0 Miembros y 1 Visitante están viendo este tema.

AngelFire

Alguien me ayuda en el siguiente codigo creado en python a eliminar salidas de 5 consonantes [bcdfghjklmnpqrstvwxyz] continuas, asi como cualquier otra optimizacion basica que consideren enfocado a fuerza bruta pero no tan bruta ya que  se intenta excluir las combinaciones poco probables, de repeticiones tipo aaaaaaaa o 5 a mas consonantes continuas.

Saludos

Lo necesito para luego hacer algo como:
#python wordlist.py | aircrack-ng -a 2 -e AP AP-01.cap -w -

#Wordlist Alpha desarrollado en Python by AngelFire
#-----------------------Caracteristicas--------------------------------------------------
#Genera salida de 8 caracteres.
#Se ignoran las combinaciones:
# -que terminan en b,c,f,g,h,j,k,m,p,q,t,v,w,x.
# -de 2 caracteres repetidos continuos; exclusiones
#   a considerar(rr, ll, 11, 22, 33, 44, 55, 66, 77, 88, 99, 00)
#Considerar sustituciones de tipos:
#a=@ or A=4
#e=3
#i=1
#o=0
#s=5
#a la hora de crear el char.
#Sustituir en char los caracteres a combinar.
char = 'abcdefghijklmnopqrstuvwxyz'
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0
#abcdefgh ---> 8 CARACTERES
for a in range(len(char)):
#bcdefgh  ---> 7 CARACTERES
for b in range(len(char)):
if char[a]!=char[b]:
#cdefgh   ---> 6 CARACTERES
for c in range(len(char)):
if char[b]!=char[c]:
#defgh    ---> 5 CARACTERES
for d in range(len(char)):
if char[c]!=char[d]:
#efgh     ---> 4 CARACTERES
for e in range(len(char)):
if char[d]!=char[e]:
#fgh      ---> 3 CARACTERES
for f in range(len(char)):
if char[e]!=char[f]:
#gh       ---> 2 CARACTERES
for g in range(len(char)):
if char[f]!=char[g]:
#h        ---> 1 CARACTERES
for h in range(len(char)):
low = char[a]+char[b]+char[c]+char[d]+char[e]+char[f]+char[g]+char[h]
if char[g]!=char[h]:
if char[h]!= 'b':
if char[h]!= 'c':
if char[h]!= 'f':
if char[h]!= 'g':
if char[h]!= 'h':
if char[h]!= 'j':
if char[h]!= 'k':
if char[h]!= 'm':
if char[h]!= 'p':
if char[h]!= 'q':
if char[h]!= 't':
if char[h]!= 'v':
if char[h]!= 'w':
if char[h]!= 'x':
print (low)



engel lex

#1
Código (python) [Seleccionar]
import re

patron = ".*[bcdfghjklmnpqrstvwxyz]{5,}.*"
if re.match(texto, patron):
 print("hay 5 o más consonantes seguidas")


Creo que eso debería lograrlo, sin mayor conflicto
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

PUAROT

Como bien te dice :
Cita de: engel lex en  8 Octubre 2017, 08:08 AM
Código (python) [Seleccionar]
import re

patron = ".*[bcdfghjklmnpqrstvwxyz]{5,}.*"
if re.match(texto, patron):
  print("hay 5 o más consonantes seguidas")


Creo que eso debería lograrlo, sin mayor conflicto

Solo, una pequeña puntualización... 
Código (python) [Seleccionar]

if re.match(patron, texto):
  print("hay 5 o más consonantes seguidas")

Primero tienes que poner el patron y luego el texto

engel lex

Cita de: PUAROT en  8 Octubre 2017, 10:22 AM
Como bien te dice :
Solo, una pequeña puntualización... 
Código (python) [Seleccionar]

if re.match(patron, texto):
  print("hay 5 o más consonantes seguidas")

Primero tienes que poner el patron y luego el texto

jejeje cierto! lo hice de mente y se me pasó eso
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

AngelFire

Listo, me dejan sin palabras, muchas gracias quedo asi. Cualquier otra optimizacion pensada en la salida y en condiciones poco probables es bienvenida.

#Wordlist Alpha desarrollado en Python by AngelFire
#-----------------------Caracteristicas--------------------------------------------------
#Genera salida de 8 caracteres.
#Se ignoran las combinaciones:
# -que terminan en b,c,f,g,h,j,k,m,p,q,t,v,w,x.
# -de 2 caracteres repetidos continuos; exclusiones
#   a considerar(rr, ll, 11, 22, 33, 44, 55, 66, 77, 88, 99, 00)
# -de 4 caracteres consonantes continuos; exclusiones
#   a considerar en 3 caracteres(palabras que terminan en consonante
#   y su adyacente comienza por 2 consonantes)
import re
#Cantidad de constantes que no se desean continuas. En este caso 4.
patron = ".*[bcdfghjklmnpqrstvwxyz]{4,}.*"
#Considerar sustituciones de tipos:
#a=@ or A=4, e=3, i=1, o=0, s=5, a la hora de crear el char.
#Sustituir en char los caracteres a combinar.
char = 'abcdefghijklmnopqrstuvwxyz'
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0
i = 0
#abcdefgh ---> 8 CARACTERES
for a in range(len(char)):
#bcdefgh  ---> 7 CARACTERES
for b in range(len(char)):
if char[a]!=char[b]:
#cdefgh   ---> 6 CARACTERES
for c in range(len(char)):
if char[b]!=char[c]:
#defgh    ---> 5 CARACTERES
for d in range(len(char)):
if char[c]!=char[d]:
#efgh     ---> 4 CARACTERES
for e in range(len(char)):
if char[d]!=char[e]:
#fgh      ---> 3 CARACTERES
for f in range(len(char)):
if char[e]!=char[f]:
#gh       ---> 2 CARACTERES
for g in range(len(char)):
if char[f]!=char[g]:
#h        ---> 1 CARACTERES
for h in range(len(char)):
low = char[a]+char[b]+char[c]+char[d]+char[e]+char[f]+char[g]+char[h]
if char[g]!=char[h]:
if char[h]!= 'b':
if char[h]!= 'c':
if char[h]!= 'f':
if char[h]!= 'g':
if char[h]!= 'h':
if char[h]!= 'j':
if char[h]!= 'k':
if char[h]!= 'm':
if char[h]!= 'p':
if char[h]!= 'q':
if char[h]!= 't':
if char[h]!= 'v':
if char[h]!= 'w':
if char[h]!= 'x':
if re.match(patron, low):
  i=i+1
else:
print (low)


engel lex

#5
Tener tantos for anidados no es eficiente par que el primer for llegué a b la línea Donde se asigna low habrá sido ejecutada 282.429.536.481 veces por eso para ese tipo de cosa no se usan tanto ciclos, sino fórmulas matemáticas tal que los ciclos se hagan en casos excepcionales
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.