elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 3 [4]
31  Programación / Programación C/C++ / Re: [C]Fuerza Bruta en: 11 Julio 2010, 19:58 pm
Nicolas_cof muchas gracias por tu bienvenida y tus sugerencias!! estuve leyendo los links q me dejaste y estan muy buenos pq muchas cosas q se tratan en ellos no las sabia.. ya modifique la forma en que habia subido el codigo e incluso baje unos libros q posteaste :D
Paso a responder tus preg, en el caso de las funciones, solo implemente las q hice por pura practica, como no estoy muy empapado con el tema de punteros quise implementarlos en las funciones para ir familiarizandome mas con ellos.. tenes razon en cuanto a la optimizacion, tal vez de la forma q lo hice sea mas ilegible.. lo modifecare..
El prog lo probe y funciona, pq encuentra la palabra clave en unos segundos, lo que quice poner en el while fue que mientras no encuentre la palabra clave q busque, pq te parece rara esa parte? como lo tendria q haber puesto? te agradeceria si me explicas :D
un saludo!
32  Programación / Programación C/C++ / Re: [Libros/Papers] C/C++ en: 11 Julio 2010, 19:08 pm
Exelente nicolas_cof, muchas gracias!!
33  Programación / Programación C/C++ / [C]Fuerza Bruta en: 11 Julio 2010, 10:07 am
Hola a todos!! como primer post quiero compartir con uds un programita q estuve haciendo en C q simule un programa de fuerza bruta, solo q mas sencillo.. estoy aprendiendo a programar en C asiq soy novato, cualquier sugerencia, propuesta, o lo q sea para mejorar el codigo y aprender sera bienvenida :D..


Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4.  
  5. int mystrlen(char *s);
  6. void mystrcpy(char *s, char *t);
  7. int mystrcmp(char *s, char *t);
  8.  
  9. int main()
  10. {
  11.      char pass[]="MONO";
  12.      int i, num;
  13.      num = mystrlen(pass);
  14.      char bf[num];
  15.      //srand(time(NULL));
  16.      mystrcpy(pass, bf);
  17.  
  18.      while(bf != pass)
  19.      {
  20.               for(i=0; bf[i] != '\0'; i++){
  21.                        bf[i] = 'A'+rand()% ('A'-'Z');
  22.                        printf("%c", bf[i]);
  23.                        }
  24.                        if((mystrcmp(pass, bf)) == 1)
  25.                                           break;
  26.                        printf("\n");
  27.               }
  28.  
  29.      printf("\n");
  30.      return 0;
  31. }
  32.  
  33.  
  34.  
  35. int mystrlen(char *s)
  36. {
  37.    int i;
  38.  
  39.    for(i=0; *s != '\0'; i++, s++);
  40.  
  41.    return i;
  42. }
  43.  
  44. void mystrcpy(char *s, char *t)
  45. {
  46.    for(; *s != '\0'; s++, t++){
  47.          *t = *s;
  48.          }
  49.    *t = '\0';
  50. }
  51.  
  52. int mystrcmp(char *s, char *t)
  53. {
  54.    int r;
  55.    while(*s != '\0'){
  56.             r = *s - *t;
  57.             if(*t == '\0')
  58.                   break;
  59.             else{
  60.                  if(r == 0)
  61.                       s++, t++;
  62.                  else
  63.                      s++;
  64.                  }
  65.             }
  66.    if(*t == '\0')
  67.          return 1;
  68. }
  69.  


Algo q no pude lograr sin un strcpy es q copie los mismos lugares en el string bf, pq si lo hacia con un strlen siempre me copiaba 3 por el '\0', la unica forma en la q pude hacerlo fue con un strcpy..
bueno un saludo, espero que les guste!!
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines