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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C]Fuerza Bruta
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C]Fuerza Bruta  (Leído 2,588 veces)
HRSLASH

Desconectado Desconectado

Mensajes: 33



Ver Perfil
[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!!


« Última modificación: 11 Julio 2010, 19:26 pm por HRSLASH » En línea

La televisión es para mi el medio mas instructivo y cultural que conozco, cuando la prenden me voy a leer
nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: [C]Fuerza Bruta
« Respuesta #1 en: 11 Julio 2010, 10:21 am »

HRSLASH, bienvenid@! te recomendaria usar las etiquetas GeSHI o code para que sea mas legible tu codigo

Codigo C
[code=c][/code]

Codigo Generico
[code][/code]

Pregunta, es necesario que implementes tus propias funciones? porque de no ser asi podrias hacer tu codigo mas optimizado, usando funciones de las librerias estandar.

Otra pregunta, funciona? realmente veo cosas muy raras, por ejemplo esta...

Código:
while(bf != pass)

Te dejo un tema donde vas a encontrar un par de ejemplo sobre lo que vos estas desarrollando...

https://foro.elhacker.net/programacion_cc/recopilatorio_sources_interesantes-t298479.0.html

Y como ultimo te invito a que pases por estos temas...

https://foro.elhacker.net/programacion_cc/librospapers_c_and_c-t296234.0.html

https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Salu10.


En línea

HRSLASH

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: [C]Fuerza Bruta
« Respuesta #2 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!
En línea

La televisión es para mi el medio mas instructivo y cultural que conozco, cuando la prenden me voy a leer
nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: [C]Fuerza Bruta
« Respuesta #3 en: 11 Julio 2010, 20:12 pm »

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

En realidad lo que haces en el while es comparar direcciones de memoria, al poner que son != siempre te va a devolver 1, que en logica seria un true (verdadero). Por ende siempre se va a cumplir esa condicion ya que las dos variables tienen direcciones de memoria distintas.

Te recomiendo que leas algunos de estos libros o los dos, donde vas a encontrar muchas informacion sobre el tema...

> El Lenguaje de Programación C - Brian W. Kernighan, Dennis M. Ritchie
> Cómo Programar en C/C++ - Harvey M. Deitel, Paul J. Deitel

Y no dudes en consultar cualquier duda...

Salu10.
En línea

HRSLASH

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: [C]Fuerza Bruta
« Respuesta #4 en: 12 Julio 2010, 15:35 pm »

Gracias x la explicacion! me baje el libro de como programar en C.. el de kernighan y Ritchie lo tengo, pero hay varias cosas q no logro entender, me resulta bastante complejo en algunas cosas.. voy a ver q tal con este otro :D
En línea

La televisión es para mi el medio mas instructivo y cultural que conozco, cuando la prenden me voy a leer
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
fuerza bruta en kali linux
Seguridad
Robocop8 2 3,355 Último mensaje 10 Septiembre 2020, 20:17 pm
por el-brujo
La RTX 3090 puede romper contraseñas por fuerza bruta
Foro Libre
Machacador 9 4,951 Último mensaje 23 Octubre 2020, 16:22 pm
por AlbertoBSD
Evitar multiples for en incrementos variables Base58 Fuerza bruta
Programación General
AlbertoBSD 3 3,248 Último mensaje 8 Febrero 2022, 01:41 am
por Serapis
¿Alguien me explica parte del artículo Búsqueda de fuerza bruta de Wikipedia?
Programación General
Tachikomaia 2 3,373 Último mensaje 11 Agosto 2023, 05:36 am
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines