fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void descram(unsigned char &key, unsigned char &letter)
  5. {
  6. unsigned char output = 0;
  7. unsigned short pow2 = 128;
  8. bool oldbit;
  9. for (unsigned int i = 0; i <= 7; i++)
  10. {
  11. oldbit = (letter/pow2)%2;
  12. output += (((key%2) ^ ((key/16)%2)) ^ oldbit) * pow2;
  13. key = (key >> 1) + oldbit*128;
  14. pow2 /= 2;
  15. }
  16. letter = output;
  17. }
  18.  
  19. int main()
  20. {
  21. unsigned char key = 5;
  22. unsigned short scrambled;
  23. unsigned char output;
  24. while (cin >> hex >> scrambled)
  25. {
  26. output = scrambled;
  27. descram(key, output);
  28. cout << output;
  29. }
  30. return 0;
  31. }
Success #stdin #stdout 0s 3472KB
stdin
ec 49 a0 c9 72 75 43 13 55 66 28 80 e7 ed 1b d5 af 3f ad 19 e2 ba 78 93 db 18 f0 9c 2c c0 fe 33 21 75 40 2c c0 b2 f2 ad 58 bb 68 81 ed 1c ba 78 cb
stdout
Base, base, it's cheeseburger 1. Can you hear me?