elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Generar diccionario (vbs)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Generar diccionario (vbs)  (Leído 8,213 veces)
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Generar diccionario (vbs)
« en: 13 Noviembre 2008, 14:22 pm »

Buenas....

Dejo un pequeño script para generar diccionarios de palabras (creado en un rato de ocio), es decir que, en base a un grupo de caracteres y una longitud seleccionada por el usuario, genera un listado de palabras con todas las posibles combinaciones de los caracteres.
Se puede portar facilmente a otros lenguajes como ser perl, python, VB (casi sin cambios), C/C++, etc

La idea de este es que sirva como ejemplo para aquellos que inician con vbs, el code no es para nada difícil, solamente necesita ser leído detenidamente  :P

Algunas de las funciones utilizadas que pueden resultar desconocidas son:
Lbound: Indica el número de índice más pequeño en un array
Ubound: Indica el número de índice más grande en un array
Cint: convierte a Integer el valor ingresado
Len: indica el largo de una palabra

Código
Código
  1. Set objfso = createobject("scripting.filesystemobject")
  2. Set ToFile = objfso.createtextfile("Dik.txt",True)
  3.  
  4. DicLis = Array("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")
  5. Length = Cint(inputbox("Ingrese el numero de caracteres de las palabras","Dictionary",""))
  6.  
  7. DicU = Lbound(DicLis)
  8. DicL = Ubound(DicLis)
  9.  
  10. Complete("")
  11.  
  12. Function Complete(strin)
  13.  
  14. For z = DicU to DicL
  15. word = strin & DicLis(z)
  16.  
  17. If Len(word) = Length then
  18. ToFile.writeline word
  19. Else
  20. Complete(word)
  21. End If
  22.  
  23. Next
  24.  
  25. End Function
  26.  
  27. ToFile.close
  28. Msgbox "Proceso Terminado"

Ejemplo:
Longitud: 4 caracteres
Tiempo: 8 segundos
Total de palabras: 456977
P IV 3.0, 1gb de ram

Para agregar más letras, números o símbolos, simplemente hay que modificar el array DicLis

Hay que tener cuidado al probarlo, se debería de elegir un número más bien pequeño como ser 3 o 4, ya que probando con el actual "diccionario" y con palabras de longitud 6, el archivo generado ocupaba 400 mb, son unas 309 millones de palabras y puede tardar bastante (tuve que recurrir a taskkill XD)

El script en si utiliza recursividad para hacer todo el trabajo, de ahí es que ocupe solamente algunas líneas  ;)

Eso es todo, saludos  ;)

P.D: si no lo terminas de entender, ya sabes donde mirar XD


« Última modificación: 13 Noviembre 2008, 14:54 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
Re: Generar diccionario (vbs)
« Respuesta #1 en: 14 Noviembre 2008, 15:47 pm »

xD cuando no.. lo voy a probar a ver que onda..  :D



SALUD.O.S


En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: Generar diccionario (vbs)
« Respuesta #2 en: 14 Noviembre 2008, 18:01 pm »

Buen código. Gracias. :D
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Generar diccionario (vbs)
« Respuesta #3 en: 16 Noviembre 2008, 01:30 am »

xD cuando no.. lo voy a probar a ver que onda..  :D
Es vbs, quien más iba a ser sino yo?  :xD

@aaronduran2
Con conocimientos de VB no es muy difícil entenderlo :P

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: Generar diccionario (vbs)
« Respuesta #4 en: 16 Noviembre 2008, 15:19 pm »

Ya, pero muchas veces no se te ocurren cosas tan sencillas.

Saludos.
En línea

AxXioma


Desconectado Desconectado

Mensajes: 797


Algunos pájaros no pueden ser enjaulados...


Ver Perfil
Re: Generar diccionario (vbs)
« Respuesta #5 en: 16 Noviembre 2008, 15:29 pm »

¿Qué utilidad tiene el programa, y, para qué sirve un diccionario de palabras? Creo haber leído que se utiliza frecuentemente para brute force, pero no sé, si me pueden dar alguna explicación...

Saludos.
En línea





.::Cuanto mas conocimiento adquieres, más te das cuenta del que hay a tu alrededor::.
aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: Generar diccionario (vbs)
« Respuesta #6 en: 16 Noviembre 2008, 15:53 pm »

Pues para eso mismo, fuerza bruta. O para cualquier otra cosa parecida...
En línea

carlitos.java

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Generar diccionario (vbs)
« Respuesta #7 en: 16 Noviembre 2008, 17:15 pm »

¿Qué hace strin & DicLis(z)?

no hallé referencias a strin
En línea

aaronduran2


Desconectado Desconectado

Mensajes: 790



Ver Perfil WWW
Re: Generar diccionario (vbs)
« Respuesta #8 en: 16 Noviembre 2008, 17:30 pm »

'string' es un argumento de la función Complete.
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Generar diccionario (vbs)
« Respuesta #9 en: 16 Noviembre 2008, 18:10 pm »

Ya, pero muchas veces no se te ocurren cosas tan sencillas.
Si, puede que a veces la enrede un poco  :-X :xD

¿Qué hace strin & DicLis(z)?
no hallé referencias a strin

En este caso strin y DicLis son solo variables en la función, strin es la cadena que se pasa como parametro a la función, y DicLis(z) es simplemente el elemento z del array DicLis :P, es por eso que no hay referencias  :P
Por eso decía que hay que mirarlo detenidamente, para ver que es lo que hay en el primer for, que es lo que se pasa como parametro en la recursividad, y que es lo que hace el for en pasadas siguiente  :D

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Generar diccionario « 1 2 »
Wireless en Linux
jordi1996 12 10,748 Último mensaje 24 Julio 2012, 10:15 am
por ChimoC
Como generar diccionario? XXXXXXX1111111
Hacking Wireless
ignacio.cv 1 2,537 Último mensaje 25 Julio 2012, 13:18 pm
por ignacio.cv
generar diccionario
Wireless en Windows
JOSUA666 3 3,166 Último mensaje 10 Marzo 2015, 04:26 am
por engel lex
[JAXB] Generar xsd mediante schemagen
Java
K-YreX 7 4,493 Último mensaje 22 Diciembre 2020, 09:04 am
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines