Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __stdcall decrypt(char* Buf, unsigned int BufLen, char* Key)
- {
- BYTE keyLen, tmpByte;
- unsigned int i, j;
- BYTE codeTable[256];
- keyLen = strlen(Key);
- if ( keyLen > 0 )
- {
- for (i = 0 ; i < 256 ; i++)
- {
- codeTable[i] = i;
- }
- BYTE loc = 0, loc1 = 0;
- for ( i = 0; i < 256; ++i )
- {
- loc = (BYTE)loc + codeTable[i] + *(BYTE *)(Key + i % keyLen);
- tmpByte = codeTable[loc];
- codeTable[loc] = codeTable[i];
- codeTable[i] = tmpByte;
- }
- loc = 0;
- loc1 = 0;
- for ( j = 0; BufLen > j; ++j )
- {
- loc += 1;
- loc1 = loc1 + codeTable[loc];
- tmpByte = codeTable[loc1];
- codeTable[loc1] = codeTable[loc];
- codeTable[loc] = tmpByte;
- tmpByte = codeTable[loc1] + tmpByte;
- Buf[j] ^= codeTable[tmpByte];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement