EvilZone

Programming and Scripting => C - C++ => : ca0s May 10, 2011, 07:13:30 PM

: [C][snippet] caesar cipher bruteforce
: ca0s May 10, 2011, 07:13:30 PM
This was for a friend, nothing complex, just tries to decode a string with every possible alpha in the alphabet.

:
#include <stdio.h>

char *substr(char *str, int begin, int len)
{
    int strLen=strlen(str);
    if(strLen<begin) return str;
    if((len>strLen) || (len==0)) len=strLen;
    if((strLen-begin)<len) len=strLen-begin;
    str+=begin;
    char *ret=(char *)malloc(len+1);
    memset(ret, 0, len+1);
    strncpy(ret, str, len);
    return ret;
}

int main()
{
    char cifrado[]="khoor";
    int l3n=strlen(cifrado);
    char alf[]="abcdefghijklmnopqrstuvwxyz";
    int len=strlen(alf);
    char mut[len];
    char test[l3n];
    int i=0;
    int x=0;
    int z=0;
    for(i=0; i<26; i++)
    {
        printf("Salto: %i -> ", i);
        memset(&mut, 0, len);
        memset(&test, 0, l3n);
        strcat(mut, substr(alf, i, 0));
        strcat(mut, substr(alf, 0, i));
        for(x=0; x<l3n; x++)
        {
            if(cifrado[x]!=' ')
            {
                z=0;
                while(mut[z]!=cifrado[x]) z++;   
                test[x]=alf[z];   
            } 
        }
        test[x]=0x00;
        printf("%s\n", test);
        //if(strstr(test, "hola")) printf("Bruted: %d\n", i);
    }
   
    return 0;
}