// 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); }