Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void decrypt(uint8_t *data, int dataLength, const uint8_t *key, int keyLength) {
- uint8_t v4[256];
- uint8_t v5[256];
- for (int i = 0; i < 256; i++) {
- v4[i] = i;
- v5[i] = key[i % keyLength];
- }
- uint8_t v13 = 0;
- for (int i = 0; i < 256; i++) {
- uint8_t tmp = v4[i];
- v13 = (v5[i] + v4[i] + v13) % 256;
- v4[i] = v4[v13];
- v4[v13] = tmp;
- }
- uint8_t v14 = 0;
- uint8_t v9 = 0;
- for (int i = 0; i < dataLength; i++) {
- v9++;
- uint8_t v10 = v4[v9];
- uint8_t v11 = v4[v9];
- v14 += v4[v9];
- uint8_t *v12 = &v4[v14];
- v4[v9] = *v12;
- *v12 = v10;
- data[i] ^= v4[(v4[v9] + v11) % 256];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement