Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 21st, 2010 | Syntax: None | Size: 0.91 KB | Hits: 104 | Expires: Never
Copy text to clipboard
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5.  
  6. char *xor_decode ( char *data, char *key )
  7. {
  8.     int nr;
  9.     int i = 0;
  10.     int j = 0;
  11.    
  12.     char *result = NULL;
  13.     char *output, *tmp;
  14.     result = strtok( data, "," );
  15.    
  16.     output = malloc (200);
  17.     bzero(output, 200);
  18.     tmp = output;
  19.    
  20.     while( result != NULL )
  21.     {
  22.         sscanf ( result, "%d", &nr );
  23.         *tmp++ = nr^key[i];
  24.        
  25.  
  26.         if ( key[i] == 0 ) i = 0;
  27.        
  28.         result = strtok( NULL, "," );
  29.         i++; j++;
  30.     }
  31.  
  32.     return output;
  33. }
  34.  
  35. int main()
  36. {
  37.   char data[] = "28,94,94,63,18,58,102,106,19,62,79,104,58,28,100,13,6,77,76,25,6,2,58,61,57,58,67,106,58,21,105,109,105,64,79,108,62,23,9,16,76,27,11,95,90,57,64,79";
  38.   char key[] = "4adc0a861ce3d1928d0198acef46ff4153e0b879034edebfe21e802d5473a6a4b71afb7eca04f6365709cc3b00c9f097";
  39.  
  40.   char * o = xor_decode (data, key);
  41.   printf ( "%s\n", o);
  42.  
  43.   free(o);
  44.  
  45.   return 0;
  46. }