Advertisement
Guest User

Untitled

a guest
Mar 11th, 2017
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. void decrypt(uint8_t *data, int dataLength, const uint8_t *key, int keyLength) {
  2.     uint8_t v4[256];
  3.     uint8_t v5[256];
  4.  
  5.     for (int i = 0; i < 256; i++) {
  6.         v4[i] = i;
  7.         v5[i] = key[i % keyLength];
  8.     }
  9.  
  10.     uint8_t v13 = 0;
  11.  
  12.     for (int i = 0; i < 256; i++) {
  13.         uint8_t tmp = v4[i];
  14.         v13 = (v5[i] + v4[i] + v13) % 256;
  15.         v4[i] = v4[v13];
  16.         v4[v13] = tmp;
  17.     }
  18.  
  19.     uint8_t v14 = 0;
  20.     uint8_t v9 = 0;
  21.  
  22.     for (int i = 0; i < dataLength; i++) {
  23.         v9++;
  24.  
  25.         uint8_t v10 = v4[v9];
  26.         uint8_t v11 = v4[v9];
  27.  
  28.         v14 += v4[v9];
  29.  
  30.         uint8_t *v12 = &v4[v14];
  31.         v4[v9] = *v12;
  32.         *v12 = v10;
  33.  
  34.         data[i] ^= v4[(v4[v9] + v11) % 256];
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement