heret1c

kgm1 reconstructed

Nov 25th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {                 // 1   2   3   4   5   6   7   8   9
  5.     char key[10] = {'X','X','X','X','X','X','X','X','X','\0'};
  6.     char xor[9] = {0x45,0x36,0xab,0xc8,0xcc,0x11,0xe3,0x7a,0x00};
  7.     char xord_key[9];
  8.     printf("Key: %s\r\n",key);
  9.     for(size_t i = 0; i < 8; i++)
  10.     {
  11.         xord_key[i] = xor[i] ^ key[i];
  12.     }
  13.  
  14.     int sum = 0;
  15.     for(size_t i = 0; i < 8; i++)
  16.     {
  17.         sum += xord_key[i];
  18.     }
  19.  
  20.     if(sum == (int)key[8])
  21.     {
  22.         int res = (int)key[8] - 0x61;
  23.         if(res < 0x19 && res >= 0)
  24.         {
  25.             // Wenn wir hier ankommen ist der key valid
  26.             printf("is valid\r\n");
  27.  
  28.             // Beenden
  29.             return 0;
  30.         }
  31.     }
  32.     // Hier nicht
  33.     printf("is invalid\r\n");
  34. }
Advertisement
Add Comment
Please, Sign In to add comment