[Batch] Aporte Generador Diccionario

Iniciado por Geormarsch, 6 Enero 2012, 21:26 PM

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

Geormarsch

Bueno Amigo este es un aporte bastante sencillo ya que me llegan algunos MP Preguntandome como hacer uno k9 les Dejo el Codigo

Código (dos) [Seleccionar]

@echo off
title Generar Diccionario Brute Force
color 2f
FOR %%a IN (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) DO (
FOR %%b IN (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) DO (
FOR %%c IN (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) DO (
FOR %%d IN (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) DO (
FOR %%e IN (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) DO (
FOR %%f IN (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) DO (
FOR %%g IN (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) DO (
FOR %%h IN (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) DO (
FOR %%i IN (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) DO (
FOR %%j IN (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) DO (
FOR %%k IN (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) DO (
FOR %%l IN (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) DO (
FOR %%m IN (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) DO (
FOR %%n IN (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) DO (
FOR %%o IN (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) DO (
FOR %%p IN (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) DO (
echo %%a%%b%%c%%d-%%e%%f%%g%%h-%%i%%j%%k%%l-%%m%%n%%o%%p
))))))))))))))))
pause



ESTE GENERARA UN CODIGO DE LA SIGUIENTE FORMA AAAA-AAAA-AAAA-AAAA Y CON TODAS LAS CONVINASIONES (TIPO SERIAL )...

SALUDOS
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

Eleкtro

#1
Se ve muy bien! No se si lo hiciste tú o lo copiaste... Solo lo digo por los créditos xD

Pues ya que dices que te mandan mps sobre el tema, supongo que hay gente interesada, así que con tu permiso me he animado a hacer unos cambios importantes y una pequeña GUI para tener un generador de codes definitivo... O casi xD

-Se puede usar de dos formas este script, Uno es automáticamente (Sin menú, Como el script de geormarsch) configurando unas intuitivas variables, ahi donde pone "Configuración predeterminada" en el script.

EJEMPLO: Para realizar la misma función que el script de seriales de geormarsch, habria que editarlas Así:
Longitud=16
Serial=SI
UsarDefault=SI

O por otro lado, se puede ejecutar el script para que salga el menú (Poniendo UsarDefault=NO)...
Todo depende de ese parámetro "Set UsarDefault=" (NO/SI).

-Se pueden crear todo tipo de códigos con un máximo de 16 caracteres (No quise hacer más largo el script, ya tiene demasiados FOR xD)

-El modo "serial" sirve para hacer lo que hace el script de geormarsch (Osea esto: xxxx-xxxx-xxxx-xxxx), Para eso hay que elegir longitud 16 en el menú, o como ya dije antes, configurar la "configuración predeterminada" editando el script.


Quise hacer más complejo el modo serial, añadirle una opcion para elegir bloques (Por ejemplo xxxx-xxxx-xxxx o xxxxxxx-xxxxxxx-xxxxxxx), pero bueno sinceramente eso no lo iba a usar mucho yo y no quiero comerme la cabeza con tanto FOR, así que lo he dejado a medias por si alguien quiere seguir mejorando el script...

Sin más que añadir, unas imagenes, el script, y un saludo!










Código (dos) [Seleccionar]
@Echo OFF
Title Generar Diccionario Brute Force o Serial v2.0
REM Code original by geormarsch

REM MOD By EleKTrO H@cKeR
REM Visita Foro.ElHacker.Net



: Instrucciones :
:###############:
:# Color       #: Color de fondo de la consola de comandos.
:# Archivo     #: Archivo de destino donde se guardarán los codigos generados.                                                      
:# Caracteres  #: Los caracteres que se deben incluir en el código.                        
:# Longitud    #: El número de columnas del código. (Máximo 16)                            
:# Serial      #: Activa el modo serial (El uso del guión).                    
:# UsarDefault #: Activar/Desactivar el uso de la configuración por defecto. Sirve para activar el modo silencioso, Sin menú ni nada                
:##########################################################################################:



:Configuración predeterminada
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set Color=07
Set Archivo="%~pd0Nuevo Diccionario %DATE:/=-%.txt"
Set Caracteres=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 0 1 2 3 4 5 6 7 8 9
Set Longitud=3
Set Serial=NO

Set UsarDefault=no
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



:Menu
:::::
Mode con cols=85 lines=30
Color %Color%
Set HoraInicio=%Date% - %TIME%

If /I "%UsarDefault%" EQU "SI" (Goto :Empezar)

:SubMenuColor
CLS
Echo.
Echo. Elija un color para el fondo y las letras.   (Ejemplo: 07^)
Echo.
Color /? | find "="
Echo.
Echo. O puede usar el color por defecto pulsando "Enter".
Echo.
Set /P Color=^>^>^>
Color %Color%

:SubMenuArchivo
CLS
Echo.
Echo. Color=%COLOR%
Echo ____________________________________________________________________________________
Echo.
Echo. Elija un nombre para el archivo de destino...   (Ejemeplo: Diccionario.txt^)
Echo.
Echo. O puede usar el nombre por defecto pulsando "Enter".
Echo.
Set /P Archivo=^>^>^>

:SubMenuCaracteres
CLS
Echo.
Echo. Color=%COLOR%
Echo. Archivo=%Archivo%
Echo ____________________________________________________________________________________
Echo.
Echo. Elija los caracteres, Debe separarlos con espacios...   (Ejemeplo: A B C 1 2 3^)
Echo.
Echo. O puede usar los caracteres por defecto pulsando "Enter".
Echo.
Set /P Caracteres=^>^>^>

:SubMenuLongitud
Set Longitud=
CLS
Echo.
Echo. Color=%COLOR%
Echo. Archivo=%Archivo%
Echo. Caracteres=%Caracteres%
Echo ____________________________________________________________________________________
Echo.
Echo. Elija la longitud de caracteres del c¢digo... (Máximo 16)   (Ejemeplo: 8^)
Echo.
Set /P Longitud=^>^>^>
If NOT Defined Longitud (Goto :SubMenuLongitud)
If %Longitud% EQU 16 (Goto :SubMenuSerial) ELSE (Goto :SubMenuFinal)

:SubMenuSerial
CLS
Echo.
Echo. Color=%COLOR%
Echo. Archivo=%Archivo%
Echo. Caracteres=%Caracteres%
Echo. Longitud=%Longitud%
Echo ____________________________________________________________________________________
Echo.
Choice /M "¨Quiere usar el modo serial?"
If %Errorlevel% EQU 1 (Set Serial=SI && Call :ChequearLongitud) ELSE (Set Serial=NO && Goto :SubMenuFinal)

:ChequearLongitud
If %Longitud% LSS 16 (
Echo.
Echo. Lo siento, En esta version el modo Serial solo se puede usar con longitud de 16 caracteres...
Ping -n 4 localhost >Nul
Set Serial=NO
) Else (Set Bloques=4)

rem :SubMenuBloques
rem CLS
rem Echo.
rem Echo. Color=%COLOR%
rem Echo. Archivo=%Archivo%
rem Echo. Caracteres=%Caracteres%
rem Echo. Longitud=%Longitud%
rem Echo. Serial=%Serial%
rem Echo ____________________________________________________________________________________
rem Echo.
rem Echo. Elija la longitud de los bloques del serial...  (Ejemeplo: 4^) (xxxx-xxxx^)
rem Echo.
rem Set /P Bloques=^>^>^>
rem If NOT Defined Bloques (Goto :SubMenuBloques)
rem If %Bloques% GTR %Longitud% (
rem Echo.+
rem Echo. ERROR. El numero no puede ser mayor que la longitud!
rem Ping -n 4 localhost >Nul
rem Set Bloques=
rem Goto :SubMenuBloques)

:SubMenuFinal
CLS
Echo.
Echo. Color=%COLOR%
Echo. Archivo=%Archivo%
Echo. Caracteres=%Caracteres%
Echo. Longitud=%Longitud%
Echo. Serial=%Serial%
If Defined Bloques (Echo. Bloques=%Bloques%)
Echo ____________________________________________________________________________________
Echo.
Choice /M "¨Todo OK?"
If %Errorlevel% EQU 2 (Goto :MENU)
CLS



:Empezar
::::::::

If /I %Serial% EQU SI (Call :Generador_Serial_%Longitud%_Bloques_%Bloques% %Caracteres%) ELSE (Call :Generador%Longitud% %Caracteres%)

:Fin
::::
Echo.
Echo. El proceso de generaci¢n ha terminado!!
Echo.
Echo. Inicio: %HoraInicio%
Echo. Fin:    %Date% - %TIME%
Echo.
Echo. Pulse una tecla para salir...
Pause >Nul
Exit



:Generadores
::::::::::::

:Generador1
FOR %%a IN (%*) DO (
Echo. %%a
Echo. %%a>>%Archivo%
)
Goto :EOF

:Generador2
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
Echo. %%a%%b
Echo. %%a%%b>>%Archivo%
))
Goto :EOF

:Generador3
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
Echo. %%a%%b%%c
Echo. %%a%%b%%c>>%Archivo%
)))
Goto :EOF

:Generador4
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
Echo. %%a%%b%%c%%d
Echo. %%a%%b%%c%%d>>%Archivo%
))))
Goto :EOF

:Generador5
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
Echo. %%a%%b%%c%%d%%e
Echo. %%a%%b%%c%%d%%e>>%Archivo%
)))))
Goto :EOF

:Generador6
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f
Echo. %%a%%b%%c%%d%%e%%f>>%Archivo%
))))))
Goto :EOF

:Generador7
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g
Echo. %%a%%b%%c%%d%%e%%f%%g>>%Archivo%
)))))))
Goto :EOF


:Generador8
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h
Echo. %%a%%b%%c%%d%%e%%f%%g%%h>>%Archivo%
))))))))
Goto :EOF


:Generador9
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i>>%Archivo%
)))))))))
Goto :EOF

:Generador10
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
FOR %%j IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j>>%Archivo%
))))))))))
Goto :EOF

:Generador11
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
FOR %%j IN (%*) DO (
FOR %%k IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k>>%Archivo%
)))))))))))
Goto :EOF

:Generador12
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
FOR %%j IN (%*) DO (
FOR %%k IN (%*) DO (
FOR %%l IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l>>%Archivo%
))))))))))))
Goto :EOF

:Generador13
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
FOR %%j IN (%*) DO (
FOR %%k IN (%*) DO (
FOR %%l IN (%*) DO (
FOR %%m IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m>>%Archivo%
)))))))))))))
Goto :EOF

:Generador14
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
FOR %%j IN (%*) DO (
FOR %%k IN (%*) DO (
FOR %%l IN (%*) DO (
FOR %%m IN (%*) DO (
FOR %%n IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n>>%Archivo%
))))))))))))))
Goto :EOF

:Generador15
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
FOR %%j IN (%*) DO (
FOR %%k IN (%*) DO (
FOR %%l IN (%*) DO (
FOR %%m IN (%*) DO (
FOR %%n IN (%*) DO (
FOR %%o IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n%%o
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n%%o>>%Archivo%
)))))))))))))))
Goto :EOF

:Generador16
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
FOR %%j IN (%*) DO (
FOR %%k IN (%*) DO (
FOR %%l IN (%*) DO (
FOR %%m IN (%*) DO (
FOR %%n IN (%*) DO (
FOR %%o IN (%*) DO (
FOR %%p IN (%*) DO (
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n%%o%%p
Echo. %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n%%o%%p>>%Archivo%
))))))))))))))))
Goto :EOF


:Generador_Serial_16_Bloques_4
FOR %%a IN (%*) DO (
FOR %%b IN (%*) DO (
FOR %%c IN (%*) DO (
FOR %%d IN (%*) DO (
FOR %%e IN (%*) DO (
FOR %%f IN (%*) DO (
FOR %%g IN (%*) DO (
FOR %%h IN (%*) DO (
FOR %%i IN (%*) DO (
FOR %%j IN (%*) DO (
FOR %%k IN (%*) DO (
FOR %%l IN (%*) DO (
FOR %%m IN (%*) DO (
FOR %%n IN (%*) DO (
FOR %%o IN (%*) DO (
FOR %%p IN (%*) DO (
Echo. %%a%%b%%c%%d-%%e%%f%%g%%h-%%i%%j%%k%%l-%%m%%n%%o%%p
Echo. %%a%%b%%c%%d-%%e%%f%%g%%h-%%i%%j%%k%%l-%%m%%n%%o%%p>>%Archivo%
))))))))))))))))
Goto :EOF










Geormarsch

Excelente Muy Buena Modificacion... y si el Codigo es mio es algo sencillo pero se  me ocurrio a traves de un mp que me llego de Xman 6
Cita de: xman6

@echo off
title Generar Diccionario Brute Force
color 2f
FOR %%a IN (A B C D E F G H 1 2 3 4 5 6 7 8 9 0 ) DO (
FOR %%b IN (A B C D E F G H 1 2 3 4 5 6 7 8 9 0 ) DO (
FOR %%c IN (A B C D E F G H 1 2 3 4 5 6 7 8 9 0 ) DO (
FOR %%d IN (A B C D E F G H 1 2 3 4 5 6 7 8 9 0 ) DO (

echo %%a%%b%%c%%k>>Diccionario.txt

))))
pause

pero despues de intentarlo el resultado es negativo ,ya que lo que intento es que el script genere un dicionario en txt con cuatro separaciones de cuatro letras o numeros ,separados por guiones

como este ejemplo: ctrt-hzsv-d6nq-jk68

Como Veran El me pidio si le podia proporcionar un Generador tipo serial ya que el que le pase no le servia asique pense un poquito y salio...
Esta re bueno Tu idea.
a mi Tambien se me ocurrio al comienzo pero no tenia tiempo suficiente y mi internet andaba Algo lento...

PD: Pueden EDITAR el Codigo pero con los respectivos Creditos

Salu-Dos
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

Geormarsch

Lo que se podria "Mejorar" ( por qe esta re bueno ) es que en el Titulo del programa dice Generador Brute Force o Serial v2.0 ok Pero una Serial Consta con - o solamente con Caracteres, numeros Etc.

Se le podria Añadir eso.
Ej:

Numeros y letras separados por un Guión : 3
Longitud SERIAL : 6

Entonces sera

XXX-XXX-XXX-XXX-XXX-XXX


Asi podria cumplir su funcion mas Completa

Saludos, Muy buen trabajo
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

xman6

Que!! ya me habeis dejado solo ,sin avisar? y digo yo porque no lo llamas SERIAL-AES.V6 (por las modificaciones que se puedan hacer en el futuro (no muy lejano)) :)
"LIBERTAD DE EXPRESION"

leogtz

Podrían hacerlo en C, sería muchisimo más rápida la generación.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Geormarsch

Cita de: Leo Gutiérrez. en 10 Enero 2012, 22:02 PM
Podrían hacerlo en C, sería muchisimo más rápida la generación.
Claaro pero U.U no se programar en C. nos podrias enseñar. ó pasarnos un manual ltra basico...
saluds
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

leogtz

Solo es una sugerencia, no digo que forzosamente deben hacerlo en C.

Hay libros y papers en la sección de C/C++.

Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

SmartGenius

Podrian ahorrarse toda esa cantidad de Ciclos FOR anidados haciendo una funcion recursiva, les llevaria menos codigo y seria mas facil tener el control del resultado de la generacion del diccionario o serial.

Saludos.


Geormarsch

Cita de: SmartGenius en 14 Enero 2012, 19:43 PM
Podrian ahorrarse toda esa cantidad de Ciclos FOR anidados haciendo una funcion recursiva, les llevaria menos codigo y seria mas facil tener el control del resultado de la generacion del diccionario o serial.

Saludos.

mmm me interesa eso de la funcion recursiva, pero como funcion??
perdon por revivir el tema pero me intereso esto
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"