Advertisement
AntonioVillanueva

CRACKME CESAR

May 15th, 2024
554
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.57 KB | None | 0 0
  1. /*Crackme para entrenar con edb-debugger
  2.  * Antonio Villanueva
  3.  */
  4. # include <stdio.h>
  5. # include <string.h>
  6.  
  7. #define SHIFT 3 // Número de posiciones para desplazar en el cifrado César
  8.  
  9. // Función para codificar una cadena de caracteres
  10. void codificar(char *mensaje, int shift, size_t longitud) {
  11.     for (size_t i = 0; i < longitud; i++) {
  12.         // Solo codificar letras
  13.         if (mensaje[i] >= 'A' && mensaje[i] <= 'Z') {
  14.             mensaje[i] = ((mensaje[i] - 'A' + shift) % 26) + 'A';
  15.         } else if (mensaje[i] >= 'a' && mensaje[i] <= 'z') {
  16.             mensaje[i] = ((mensaje[i] - 'a' + shift) % 26) + 'a';
  17.         }
  18.     }
  19. }
  20.  
  21. // Función para decodificar una cadena de caracteres
  22. void decodificar(char *mensaje, int shift, size_t longitud) {
  23.     // La decodificación es simplemente el cifrado con un desplazamiento negativo
  24.     codificar(mensaje, -shift, longitud);
  25. }
  26.  
  27. int main( )
  28. {
  29.     char lectura[100];
  30.     char clave []="Ser_Hacker_es_jugar_a_ser_Dios";
  31.     codificar(clave, SHIFT, sizeof (clave));
  32.    
  33.     char frase[]=" Felicidades lo has conseguido !   ";
  34.     codificar(frase, SHIFT, sizeof (frase));
  35.    
  36.     char frase2[]="\nPassword : ";
  37.     codificar(frase2, SHIFT, sizeof (frase2));
  38.    
  39.     printf ("Crackme v2. by Antonio Villanueva\n");
  40.      while (strcmp(lectura, clave) != 0){
  41.          
  42.         decodificar(frase2, SHIFT, sizeof(frase2)) ;
  43.         printf (frase2);
  44.         codificar (frase2, SHIFT, sizeof(frase2)) ;
  45.        
  46.         scanf("%s", lectura);      
  47.         codificar(lectura,SHIFT,sizeof(lectura));
  48.     }
  49.    
  50.     printf ("\n");
  51.     codificar (frase,-SHIFT,sizeof (frase));
  52.     printf (frase);
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement