Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Crackme para entrenar con edb-debugger
- * Antonio Villanueva
- */
- # include <stdio.h>
- # include <string.h>
- #define SHIFT 3 // Número de posiciones para desplazar en el cifrado César
- // Función para codificar una cadena de caracteres
- void codificar(char *mensaje, int shift, size_t longitud) {
- for (size_t i = 0; i < longitud; i++) {
- // Solo codificar letras
- if (mensaje[i] >= 'A' && mensaje[i] <= 'Z') {
- mensaje[i] = ((mensaje[i] - 'A' + shift) % 26) + 'A';
- } else if (mensaje[i] >= 'a' && mensaje[i] <= 'z') {
- mensaje[i] = ((mensaje[i] - 'a' + shift) % 26) + 'a';
- }
- }
- }
- // Función para decodificar una cadena de caracteres
- void decodificar(char *mensaje, int shift, size_t longitud) {
- // La decodificación es simplemente el cifrado con un desplazamiento negativo
- codificar(mensaje, -shift, longitud);
- }
- int main( )
- {
- char lectura[100];
- char clave []="Ser_Hacker_es_jugar_a_ser_Dios";
- codificar(clave, SHIFT, sizeof (clave));
- char frase[]=" Felicidades lo has conseguido ! ";
- codificar(frase, SHIFT, sizeof (frase));
- char frase2[]="\nPassword : ";
- codificar(frase2, SHIFT, sizeof (frase2));
- printf ("Crackme v2. by Antonio Villanueva\n");
- while (strcmp(lectura, clave) != 0){
- decodificar(frase2, SHIFT, sizeof(frase2)) ;
- printf (frase2);
- codificar (frase2, SHIFT, sizeof(frase2)) ;
- scanf("%s", lectura);
- codificar(lectura,SHIFT,sizeof(lectura));
- }
- printf ("\n");
- codificar (frase,-SHIFT,sizeof (frase));
- printf (frase);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement