PDA

Ver la versión completa : Generar claves.



khronos
08-09-2002, 21:29
Hay mucho programas para generar passwords y muy buenos, pero yo quise probar y programe uno en C que saca todas las combinaciones de letras de una determinada longitud.

Lo he llamado Genera v0.1

Si kieren el codigo diganmelo.

Tb. se aceptan ideas, criticas y sugerencias para versiones posteriores. Reconozco ke el programa deja muchisimo ke desear (= es una mierda)pero entre todos se puede mejorar.

Bye.

THE_CROW
08-09-2002, 23:24
podrias pasarme el codigo? (siempre resulta curioso verlo). si te interesa pasarmelo te doy mi e-mail.

Omicron
09-09-2002, 16:09
Me podrias mandar tu codigo fuente?



Si la vida te da la espalda...........picale el culo.

Rojodos
09-09-2002, 16:36
A mi tb me interesa...

khronos
09-09-2002, 21:37
/*
*
*
* Generador de diccionario. Genera todas las combinaciones.
* El resultado se deja en un fichero llamado mierda.txt
* En cada ejecución se machaca el fichero.
*
* Diseñado y programado por Khronos.
*
* !Atención¡ Un número elevado para la longitud de las palabras del diccionario
* puede agotar la memoria de nuestro PC[problema resuelto]. Este programa se puede usar para crear
* otro diccionario con qualquier longitud de palabras.
*
* Se aceptan quejas, sugerencias, felicitaciones, ...
* E-mail: khronos@iespana.es
*
*
*/


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

unsigned char base[37]="0123456789abcdefghijklmnopqrstuvwxyz";
int car_base= 37,naux;
int lpass,bloque;
FILE * dicc;
int * aux;

void limpiar(int elem[],int desde, int hasta)
{
short int i;
for(i=desde;i<=hasta;i++) elem[i]=-1;
}

void escribir(int elem[])
{
char pwd[20];
short int i;


for (i=0;i<lpass;i++)
{
pwd[i]=base[elem[i]];
}
pwd[lpass]='\n';
pwd[lpass+1]='\0';
printf("%s", pwd);

fputs(pwd,dicc);
}

void siguiente(int elem[],int nivel)
{
int backtraking(int[],int);
int i = nivel - 1;

int j;

while ((i>=0) && (elem[i]==35)) i--;
if (i>=0)
{
limpiar(elem,i+1,15);
elem[i]=elem[i]+1;

backtraking(elem,i+1);
}
else
{
fclose(dicc);
exit(1);
}
}

void prolongar(int elem[],int nivel)
{
int backtraking(int[],int);
elem[nivel]=0;
backtraking(elem,nivel+1);
}

int backtraking(int elem[],int nivel)
{
if (nivel == lpass) /* combinación terminada (exito) */
{
escribir(elem);

bloque ++;
/* pasar al siguiente */
if (bloque<1000) {siguiente(elem, nivel);}
else {aux = elem;
bloque=0;
naux = nivel;}
}
else
{
/* prolongar */
prolongar(elem,nivel);
}
}



main ()
{
int elemento[15];
bloque=0;
printf ("Numero de caracteres a generar: ");
scanf ("%d", &lpass);
limpiar(elemento,0,15);
dicc = fopen("mierda.txt","w");
backtraking(elemento, 0);

while (1)
{
siguiente(aux,naux);
}

}

THE_CROW
10-09-2002, 00:31
muy buena khronos, estas cosas aportan seriedad al foro. Me ha gustado mucho tu idea de compartir el código:cool:

Giskard
10-09-2002, 02:59
TAl vez sea recomendable meterle letras MAYUSCULAS y otros signos como @, $, &, etc. Esto hace que la contraseña sea imposible de crackear por fuerza bruta

Rojodos
10-09-2002, 21:47
Coincido con Giskard.
Y gracias por enviarmelo!
Ademas, mas dao alguna idea para mi proyecto (un encriptador)... asias! :D

khronos
11-09-2002, 12:35
Lo malo es que genera muchas palabras, y un archivo demasiado grande. Ya se sabe que la fuerza bruta no es la mejor manera de crackear passw. Personalmente conozco "John The Ripper" y "Crack".
El John es mi favorito. Bueno, a lo ke iba, esta bien generar un diccionario de palabras con todas las combinaciones. Pero es inmenso, sería casi imposible crackear algún password por fuerza bruta.

Pero por otra parte, está bien como una pequeña experiencia de programacion. Además si se dan cuenta, el programa usa Backtraking"vuelta atras" (una técnica de programación).

Bye.

tony_mc
17-10-2006, 20:07
hola muchachos ustdes proque ya saben pero gente como yo q recien empiesan no tiene algun tutorial q explique todo del codigo etc..? porfavor les dejo mi msn editado

Cypress
17-10-2006, 20:20
estas rompiendo un par de reglas del foro, ve y leetelas.
No pongas tu email, es un foro es para compartir info.
Este post es del 2002, esta un poco viejo :( y es contra las normas

Leelas y disfruta de esta gran comunidad
Saludos
Cypress

vermillionha
28-12-2006, 18:44
Hola soy nuevo en este foro y tu generador me parece algo interesante asi que si no te molesta mandamelo a mi correo

*** ;)

clarinetista
28-12-2006, 19:14
¿Porque no se miran las fechas?
Este post se creo en el 2002, así que no reabráis post tan antiguos

real
31-12-2006, 22:15
Me podrias mandar tu codigo fuente?



Si la vida te da la espalda...........picale el culo.




JAJAJAJAJj me agrada tu expresion

real
31-12-2006, 22:21
OOOOPs no habia visto las fechas jejejej saludos