Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Eleкtro en 8 Julio 2012, 13:48 pm



Título: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: Eleкtro en 8 Julio 2012, 13:48 pm
Aquí pueden comentar todo lo que quieran, sus dudas, avances o soluciones acerca del siguiente reto:

Reto iniciado por binary_death

Reto Nº 15 BATCH

Nombre:          Variaciones con repetición, con 26 elementos [abecedario inglés] (binary_death)
Dificultad:        7/10
Objetivo:         Realizar un batch script al que, dado una longitud máxima de carácteres especificada, los combine de todas las formas posibles.
                         Esto puede servir como un generador de diccionarios para usar en programas de frute force.
Pista:               Recursividad, for anidados, todo sirve aunque hay formas más óptimas que otras.
Ejemplo:          (http://i821.photobucket.com/albums/zz137/binary_death/bruteforce.png)


Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: Binary_Death en 8 Julio 2012, 18:42 pm
Procurad innovar lo máximo posible  :P aburriría un poco ver un montonazo de for's anidados como http://foro.elhacker.net/scripting/batch_aporte_generador_diccionario-t349722.0.html , por poner un ejemplo de los muchos códigos iguales que hay.

Ah, una cosa más: usando cualquier tipo de recursividad la función queda unas 10 veces más lenta, aunque con menos código. Una pista es que hay un punto intermedio entre los for's anidados y la función corta, y esa es la forma más eficaz de hacer las variaciones de 26 elementos tomados de X en X.

Un saludo, y suerte.


Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: BatchianoISpyxolo en 11 Julio 2012, 00:25 am
Teniendo en cuenta que son variaciones con repetición de 26 elementos cogidos de 26 en 26...

VR(26,26) = 2626 = 6156119580207157310796674288400203776 combinaciones posibles...

Aunque en la imagen aparecen cadenas de 4 caracteres lo que equivale a...

VR(26,4) = 264 = 456976 combinaciones posibles...

En definitiva, ¿cadenas de qué longitud? ¿O cadenas de 1..26?


Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: Binary_Death en 11 Julio 2012, 01:19 am
La idea es que genere cadenas de X carácteres, donde X lo elige el usuario.
En mi caso, ese programa que ves en la imagen recibe la longitud de la cadena en forma de parámetro.



Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: Eleкtro en 11 Julio 2012, 03:17 am
supongo que lo que quiso decir binary_death (26 elementos) se refirió a que el code debe soportar las 26 letras del abecedario inglés, donde no está la Ñ... En el abecedario español son 27.

Saludos



Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: BatchianoISpyxolo en 11 Julio 2012, 14:05 pm
Entonces, como son cadenas de longitud x...

26 · 26 · 26 · ... · 26 (x veces) = 26x = ∏xi=1 26 (x∈Ν)

combinaciones totales


Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: 79137913 en 17 Julio 2012, 18:12 pm
HOLA!!!

Código
  1. @ECHO OFF
  2. SETLOCAL enabledelayedexpansion
  3.  
  4. SET "CHARS=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,w,x,y,z"
  5. SET "INI=0"
  6. SET /P LONGITUD=Inserte la longitud deseada:
  7.  
  8. CALL :GENERAR
  9.  
  10.  
  11. :GENERAR
  12. IF %INI% neq %LONGITUD% (
  13. SET /a "INI+=1"
  14. FOR %%c IN (!CHARS!) DO CALL :GENERAR "%~1%%~c"
  15. SET /a "INI-=1"
  16. ) else (
  17. SET "CADENA=%~1"
  18. ECHO.!CADENA!
  19. )
  20. GOTO:EOF

http://pastebin.com/9Wy2Msw7

GRACIAS POR LEER!!!


Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: Binary_Death en 17 Julio 2012, 18:51 pm
Es una solución, pero está muy vista  :P

http://foro.el-hacker.com/f82/f-bat-generador-de-combinaciones-154744/


Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: 79137913 en 17 Julio 2012, 19:10 pm
HOLA!!!

Sip, eso se llama venganza por las soluciones que colocaba yo eran de autoria propia y caia otro y hacia copypaste de otro lado.

GRACIAS POR LEER!!!


Título: Re: [Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Publicado por: Binary_Death en 17 Julio 2012, 19:16 pm
HOLA!!!

Sip, eso se llama venganza por las soluciones que colocaba yo eran de autoria propia y caia otro y hacia copypaste de otro lado.

GRACIAS POR LEER!!!

Ciertos códigos son tan comunes ya que ni se pueden considerar copiados, como este... que se usa en todos los programas brute force en batch.

Pero hay más formas de hacer lo mismo y muy divertidas. Venga, exprímanse un poco los sesos que siempre viene bien  :P