mirror of
https://github.com/Cc28256/CcRemote.git
synced 2025-06-11 14:59:49 +00:00
54 lines
963 B
C++
54 lines
963 B
C++
// stringCryDemo.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
|
|
//
|
|
|
|
#include <iostream>
|
|
|
|
char* crycode(char* str)
|
|
{
|
|
printf("cry: %s \n", str);
|
|
int len = strlen(str);
|
|
char * a = (char *)operator new(len + 1);
|
|
a[0] = len;
|
|
printf("0x%02hhx,", a[0]);
|
|
for (size_t i = 1; i <= len; i++)
|
|
{
|
|
a[i] = str[i - 1] ^ (0xCC - i);
|
|
printf("0x%02hhx,", a[i]);
|
|
}
|
|
printf("\n");
|
|
return a;
|
|
}
|
|
|
|
|
|
char* uncode(char* str)
|
|
{
|
|
int len = str[0];
|
|
char * uncodeStr = (char *)operator new(len + 1);
|
|
for (size_t i = 1; i <= len; i++)
|
|
{
|
|
uncodeStr[i - 1] = str[i] ^ (0xCC - i);
|
|
printf("%c", uncodeStr[i - 1]);
|
|
}
|
|
uncodeStr[len] = 0x00;
|
|
printf("\n");
|
|
return uncodeStr;
|
|
}
|
|
|
|
|
|
|
|
|
|
int main()
|
|
{
|
|
char a[] = "REG_SZ";
|
|
char b[] = "REG_DWORD";
|
|
char c[] = "REG_BINARY";
|
|
char d[] = "REG_MULTI_SZ";
|
|
char* s1 = crycode(a);
|
|
char* s2 = crycode(b);
|
|
char* s3 = crycode(c);
|
|
char* s4 = crycode(d);
|
|
uncode(s1);
|
|
uncode(s2);
|
|
uncode(s3);
|
|
uncode(s4);
|
|
} |