Todos estamos igual Undewar, ninguno sabemos con certeza como "funciona" exactamente el sistema de injeccion de contraseñas, pero voy viendo el aporte que estamos haciendo todos y la verdad que ya esta cogiendo forma y color.
Yo deduzco (y solo es una deduccion pues podria comerte un enorme error) que el programa consta de varias parte.
- GENERADOR DE DICCIONARIO
* A mi Manera hay dos modos de hacerlo.
1º Generando automáticamente el diccionario Ventajas: No necesitaria *.txt para compararlo pues lo generaria automáticamente
Desventajas: El proceso "chuparia y relentizaria" muchisimo la CPU ademas que el tiempo que conllevaria el solo generarlo
Código Basico de Ejemplo:
//By WiseHidden
// Ejemplo de Generador de Diccionario Para Proyecto WifiHi
#include <fstream.h>
int main()
{
ofstream archivo("Diccionario.txt");
for(char letra='A'; letra <='Z'; letra++)
archivo << letra;
archivo.close();
return 0;
}
Como ven, crearia un diccionario en un archivo *.txt (Es un ejemplo básico)
O tambien podria reprensentarse con el código de XxX--Underwar--xXx
#include <stdio.h>
#define Let_A 97
#define Let_B 98
#define Let_C 99
void letras( int i , int j , int k );
int main(){
for(int i = 1 ; i <= 3 ; i++ )
for(int j = 1 ; j <= 3 ; j++ )
for(int k = 1 ; k <= 3 ; k++ )
letras(i,j,k);
//printf("%d%d%d \n",i,j,k);
printf("Pausa...");
getchar();
return 0;
}
void letras( int i , int j , int k ){
printf("%c%c%c \n", i==1 ? Let_A : i==2 ? Let_B : Let_C,
j==1 ? Let_A : j==2 ? Let_B : Let_C,
k==1 ? Let_A : k==2 ? Let_B : Let_C
);
}
o incluso exponer el código de Fantasma306 (Generador de diccionarios con palabras de tamaño variado) que para mi personalmente y a mi entender seria el más completo, retocando un (Pelín el código) <NO EXPONGO EL CODIGO> Por la longitud del post
2º La segunda opción creo que es la más acertada pues sus ventajas son mayores que la primera.
Solo se necesitaria de diccionario en archivos de texto (.txt) para leerlos, los diccionarios ya vendrian realizados, y lo bueno que podrian utilizarse varios (En varios idiomas) o (Distintas encriptaciones) <<Tendriamos que estudiar como el usuario, "crea" un diccionario X y "se selecciona los nuestros" tiene que haber alguna funcion que trate de esto!!!
Ejemplo de Lectura de diccionario desde un archivo .txt // By WH
// Leer un archivo de texto
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string linea;
ifstream MiArchivo ("Diccionario.txt"); //en este caso los diccionarios que tengamos guardado, y en caso de y en algun módulo direccionarlo
if (MiArchivo.is_open())
{
//Mientras que no sea fin de archivo
while (! MiArchivo.eof() )
{
getline (MiArchivo,line);
cout << linea << endl;
}
MiArchivo.close();
}
else cout << "No se pudo abrir el archivo.";
return 0;
}
Este programa no necesita mucha explicacion, lee un archivo de texto (en este caso diccionario.txt)
Bien esta es la parte facil del Proyecto - Generar/Leer Diccionarios
El problema empieza en Comparar/Injectar/Certificar y Autentificar de que entre todas las probabilidades que tengan nuestros diccionarios una de ellas sea la "verdadera" y nos diga "CONTRASEÑA ENCONTRADA xxxxxxxxxx"
yo creo que se base en el siguiente principio
//by WiseHidden
#include <stdio.h>
int compara(float a, float b){
if (a==b) return 0;
if (a>b) return 1;
if (a<b) return 2;
}
int main ()
{
float n1, n2; /*Los dos números a comparar*/
printf("nIntroduce el primer número: ");
scanf("%f", &n1);
printf("nIntroduce el segundo número: ");
scanf("%f", &n2);
switch (compara(n1, n2))
{
case 0: printf("nLos números %f y %f son iguales", n1, n2); break;
case 1: printf("n%f es mayor que %f", n1, n2); break;
case 2: printf("n%f es menor que %f", n1, n2); break;
}
return 0;
}
pero en vez de establecer si dos numeros son <,= o > tendriamos que ver como comparar si x = x Es un principio matemático muy simple, solo que tenemos que realizarlo en código.
bueno no se porque siempre me enrrollo tanto en mis respuestas
pero es para hacernos una idea generalizada del proyecto, de ahi a que se celebre una reunión preliminar el jueves, para agilizar y conocer la ideas de cada uno.
PD: Ala hora de mandar el mensaje me ha saltado un aviso de que habia una nueva respuesta en el post.
Corríjanme si me equivoco!, pero no seria mas facil programar socket's para enviar paquetes con las contraseñas, y escuchar las paquetes recibidos, para saber si la contraseña es valida.??
Y corrijanme si me esquivoco pero creo que esa es la respuesta que necesitabamos!!!
De hecho creo que todos los programas de este tipo lo hacen así!!!
Este es un tema importante a discutir y a conocer
Un cordial saludoooo
Atentamente
Vuestro Igual
WiseHidden