Autor
|
Tema: Tengo Una Idea (Attack Broken locks) (Leído 4,572 veces)
|
Kr0pl0its
Desconectado
Mensajes: 8
|
Saludos, Necesito Un Consejo Acerca De Un Programa Que Eh Estado Desarrollando En Estos Días, Que Tiene Como Función Realizar Un Procedimiento Similar a El De Fuerza Bruta Con La Diferencia De Que Debería Funcionar De La Siguiente Manera: El Programa Contiene Todas Las Letras,Símbolos y Números Posibles. Realiza Una Lista De Cien Millones De Combinaciones ilógicas y Luego Utiliza Un Procedimiento Que Le Permitirá Comparar Todos Los Caracteres de Manera Que Buscara Combinaciones Lógicas (Combinaciones Posibles Para Lograr Acceder) Luego Las Va a Codificar Siguiendo Ciertas Instrucciones Que Permitirán Descifrar y Almacenar a Las Mejores Combinaciones Es Decir El Programa Mete Una Lista de Contraseña Cifradas Siguiendo El Algoritmo de Cifrado del objetivo (Se Debe Especifica) Realizando Lo Que Yo Llamaría Broken locks... En Fin, Quiero Decir El Programa Rompe a La Fuerza Utilizando El Procedimiento de Cryptografia del objetivo (Es Decir Solo Funciona En Sistemas Débiles ) Busca Las Vulnerabilidades y Genera Combinaciones que permiten acceder a el objetivo (Debe Meterse la lista de forma automática y los patrones deben ser cifrados...) este procedimiento puede tardar un poco, pero con las instrucciones y manejo correcto puede funcionar sin ningún problema.. Eh Estado Pensado en Utilizar Python... Solo Necesito Unos Consejos..  Saludos #include <iostream> #include <conio.h> #include <windows.h> #include <stdlib.h> #include <stdio.h> #include <string> #include <time.h> void encriptarArchivo(); void desencriptarArchivo(); using namespace std; int main () { char cadena[5185]={'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', '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', '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', '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', '/','-','_','#','%'}; int cont=0; FILE *arch; char c; int a,e,i,o,u; //contadores char digito[0]; char resultado[0]; //array donde vamos a guardar los resultados unsigned char caracter='a'; //variable usada para las compraraciones int ok=0; int y=0; int j=0; int k=0; while("pause") { system ("title Brutal"); system("color 9a"); arch=fopen("datos.txt","a"); srand(time(NULL)); while (cont!=100000){ // Numero de Cifras a Generar for(u=0;u<=10;u++) { for(y=0;y<4;y++){ //bucle que compara y encuentra el 1º caracter caracter=(char)y; for(j=0;j<8;j++){ //bucle que compara y encuentra el 2º caracter caracter=(char)j; for(k=0;k<16;k++){ //bucle que compara y encuentra el 3º caracter caracter=(char)k; if(cadena[0 > 2]==caracter){ resultado[0 > 4]=caracter; ok++; if(ok==0){break;} } caracter++; if(cadena[0 > 4]==caracter){ resultado[0 > 8]=caracter; ok++; } caracter++; } if(cadena[0 > 8]==caracter){ resultado[0 > 16]=caracter; ok++; } if(cadena[0 < 2]==caracter){ resultado[0 < 4]=caracter; ok++; if(ok==0){break;} } caracter++; } if(cadena[0 < 4]==caracter){ resultado[0 < 8]=caracter; ok++; } caracter++; } if(cadena[0 < 8]==caracter){ resultado[0 < 16]=caracter; ok++; } } caracter++; printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\n\t\t "); fputs(resultado, arch); caracter++; printf("\n\t"); } } getch (); }
No Eh Hecho Mucho En El Programa Le Faltan Las Funciones Más Importantes...
|
|
« Última modificación: 16 Octubre 2016, 23:56 pm por simorg »
|
En línea
|
“Concéntrate en el momento. Siente, no pienses, usa tu instinto.” Qui-Gon Jinn.
|
|
|
engel lex
|
no mezcles librerías de C con las de C++ #include <iostream> #include <conio.h> //no la usas aquí, no la uses en general... quitala #include <windows.h> //no la usas aqui, si puedes evitala, te limita la plataforma #include <stdlib.h> //c++ -> <cstdlib> #include <stdio.h> //c++ -> <cstdio> aunque ya usas iostream #include <string> #include <time.h> //<ctime>
por que usas 5185 espacios? es preferible que la declares del tamaño que usarás... a demás, estás usando la librerís string, no es necesario que uses char directamente aqui qué es esto? que quieres hacer aquí? en general no comprendo que intenta hacer el sistema... por cierto, no es en general eficiente pasar pot todas las posibilidades y descartar... lo correcto es predecir las posibilidades y evitar en lo absoluto usar cciclos para las no posibles (ya que perderás temipo de calculo descartando)
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Kr0pl0its
Desconectado
Mensajes: 8
|
#include <iostream> #include <stdlib.h> #include <string> #include <time.h> #include <cstdlib> void encriptarArchivo(); void desencriptarArchivo(); using namespace std; int main () { char cadena[201]={'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', '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', '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', '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', '/','-','_','#','%'}; int cont=0; FILE *arch; char c; int a,e,i,o,u; //contadores char digito[0]; char resultado[0]; //array donde vamos a guardar los resultados unsigned char caracter='a'; //variable usada para las compraraciones int ok=0; int y=0; int j=0; int k=0; while("pause") { arch=fopen("datos.txt","a"); srand(time(NULL)); while (cont!=100000){ // Numero de Cifras a Generar for(u=0;u<=10;u++) { for(y=0;y<4;y++){ //bucle que compara y encuentra el 1º caracter caracter=(char)y; for(j=0;j<8;j++){ //bucle que compara y encuentra el 2º caracter caracter=(char)j; for(k=0;k<16;k++){ //bucle que compara y encuentra el 3º caracter caracter=(char)k; if(cadena[0]==caracter){ resultado[0]=caracter; ok++; if(ok==0){break;} } caracter++; if(cadena[0]==caracter){ resultado[0]=caracter; ok++; } caracter++; } if(cadena[0]==caracter){ resultado[0]=caracter; ok++; } if(cadena[0]==caracter){ resultado[0]=caracter; ok++; if(ok==0){break;} } caracter++; } if(cadena[0]==caracter){ resultado[0]=caracter; ok++; } caracter++; } if(cadena[0]==caracter){ resultado[0]=caracter; ok++; } } caracter++; printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\t\t "); printf ("%c",resultado[rand() % 201]); printf("\n\t\t "); fputs(resultado, arch); caracter++; printf("\n\t"); } } getch (); }
soy un fracaso [/quote]
|
|
|
En línea
|
“Concéntrate en el momento. Siente, no pienses, usa tu instinto.” Qui-Gon Jinn.
|
|
|
engel lex
|
si eres un fracaso o no, está de tu parte decidirlo veo que lo haces a los golpes que es el problema, tienes que sentarte con calma, recomiendo usar una libreta y "simular" el codigo (la salida) que quieres a mano para visualizarlo... explica paso a paso que se supone que haga (no la explicación que diste, sino realmente paso a paso) para ver si te podemos ayudar... si, python podría ser util para esto, su manejo de cadenas es efectivo y simple, pero c++, es enormemente más rápido y potente De Cien Millones De Combinaciones ilógicas y Luego Utiliza Un Procedimiento Que Le Permitirá Comparar Todos Los Caracteres de Manera Que Buscara Combinaciones Lógicas 100.000.000 de combionaciones son apenas 4 letras (y la mitad de camino de la 5ta) luego de generarlas tardarás x tiempo decidiendo cuales son buenas o no... eso tomará tiempo... y si lo escribes en disco para leerlo desde allí, taradrá una cantida ridicula de tiempo, es preferible que llenes la ram y hacer todo desde allí
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Kr0pl0its
Desconectado
Mensajes: 8
|
Gracias, Me Pondré a Trabajar con calma el programa... cuando lo termine o tenga un avance.. paso código
|
|
|
En línea
|
“Concéntrate en el momento. Siente, no pienses, usa tu instinto.” Qui-Gon Jinn.
|
|
|
Kr0pl0its
Desconectado
Mensajes: 8
|
Es lo que Hecho Hasta Ahora, me gustaría saber como evitar windows.h #include <iostream> #include <conio.h> #include <cstdlib> #include <string> #include <ctime> #include <fstream> #include <windows.h> //quiero evitar esto, pero es la unica forma de que funcione keybd_event(); using namespace std; int main () { char cadena[201]={'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', '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', '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', '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', '/','-','_','#','%'}; //Letras, Numeros y Simbolos a Utilizar. int cont=0; char c; int a,e,i,o,u; //contadores char digito[0]; char resultado[0]; //array donde vamos a guardar los resultados unsigned char caracter='a'; //variable usada para las compraraciones int ok=0; int y=0; int j=0; int k=0; while (cont!=100000){ // Numero de Cifras a Generar for (i = 0; cadena[i]!='\0';i++) //se generar toda la cadena para luego descodificar (Criptografia Inversa). { for(u=0;u<=100;u++) { for(u=0;u<=100;u++) { cadena[i]-=i; //se descodifica for(u=0;u<=100;u++) { for(u=0;u<=100;u++) { for(u=0;u<=100;u++) { for(u=0;u<=100;u++) { for (e = 0; resultado[e]!='\0';e++) //Se Generan Los Resultados { resultado[e]-=e; //se descodifican los resultados keybd_event ((BYTE )VkKeyScan (resultado [rand() % 201]), 0, 0, 0); //se escriben en pantalla keybd_event ((BYTE )VkKeyScan (resultado [rand() % 201]), 0, 0, 0); keybd_event(VK_RETURN, 0, 0, 0); //Pulsamos enter keybd_event(VK_RETURN, 0, 0, 0); //Levantamos enter } } } } } } } } caracter++; //se siguen generando keybd_event(VK_RETURN, 0, 0, 0); //Pulsamos enter keybd_event(VK_RETURN, 0, 0, 0); //Levantamos enter } }
|
|
|
En línea
|
“Concéntrate en el momento. Siente, no pienses, usa tu instinto.” Qui-Gon Jinn.
|
|
|
MCKSys Argentina
|
Si llamas a las APIs de windows, creo que no puedes prescindir de windows.h, a menos que especifiques el prototipo de la función/es a las que llamas (osea, lo mismo que hace el .h)
Pero bueno, no programo mucho de C/C++.
Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
|
|