mirror of
https://github.com/yuanyuanxiang/SimpleRemoter.git
synced 2026-01-21 23:13:08 +08:00
style: Change files encoding format to UTF8-BOM
This commit is contained in:
@@ -1,115 +1,115 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 加密函数
|
||||
inline void encrypt_v1(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
if (i % 2 == 0) {
|
||||
data[i] = data[i] + key; // ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> key
|
||||
data[i] = data[i] + key; // 偶数索引加 key
|
||||
} else {
|
||||
data[i] = data[i] - key; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> key
|
||||
data[i] = data[i] - key; // 奇数索引减 key
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 解密函数
|
||||
inline void decrypt_v1(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
if (i % 2 == 0) {
|
||||
data[i] = data[i] - key; // ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> key <EFBFBD><EFBFBD>ԭ
|
||||
data[i] = data[i] - key; // 偶数索引减 key 还原
|
||||
} else {
|
||||
data[i] = data[i] + key; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> key <EFBFBD><EFBFBD>ԭ
|
||||
data[i] = data[i] + key; // 奇数索引加 key 还原
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD> - ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ת
|
||||
// 加密函数 - 使用异或和位旋转
|
||||
inline void encrypt_v2(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
// ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>key<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ1λ
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>key<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ1λ
|
||||
// 偶数索引:与key异或后左循环移位1位
|
||||
// 奇数索引:与key异或后右循环移位1位
|
||||
data[i] ^= key;
|
||||
if (i % 2 == 0) {
|
||||
data[i] = (data[i] << 1) | (data[i] >> 7); // <EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||
data[i] = (data[i] << 1) | (data[i] >> 7); // 左循环移位
|
||||
} else {
|
||||
data[i] = (data[i] >> 1) | (data[i] << 7); // <EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||
data[i] = (data[i] >> 1) | (data[i] << 7); // 右循环移位
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 解密函数
|
||||
inline void decrypt_v2(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 加密的逆操作
|
||||
if (i % 2 == 0) {
|
||||
data[i] = (data[i] >> 1) | (data[i] << 7); // <EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ԭ
|
||||
data[i] = (data[i] >> 1) | (data[i] << 7); // 右循环移位还原
|
||||
} else {
|
||||
data[i] = (data[i] << 1) | (data[i] >> 7); // <EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>ԭ
|
||||
data[i] = (data[i] << 1) | (data[i] >> 7); // 左循环移位还原
|
||||
}
|
||||
data[i] ^= key; // <EFBFBD>ٴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ
|
||||
data[i] ^= key; // 再次异或还原
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD> V3 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>key<65>Ķ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
// 加密函数 V3 - 基于索引和key的动态计算
|
||||
inline void encrypt_v3(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
unsigned char dynamic_key = key + (i % 8); // <EFBFBD><EFBFBD>̬<EFBFBD>仯<EFBFBD><EFBFBD>key<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
unsigned char dynamic_key = key + (i % 8); // 动态变化的key(基于索引)
|
||||
if (i % 3 == 0) {
|
||||
data[i] = (data[i] + dynamic_key) ^ dynamic_key; // <EFBFBD>ӷ<EFBFBD> + <20><><EFBFBD><EFBFBD>
|
||||
data[i] = (data[i] + dynamic_key) ^ dynamic_key; // 加法 + 异或
|
||||
} else if (i % 3 == 1) {
|
||||
data[i] = (data[i] ^ dynamic_key) - dynamic_key; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD>
|
||||
data[i] = (data[i] ^ dynamic_key) - dynamic_key; // 异或 + 减法
|
||||
} else {
|
||||
data[i] = ~(data[i] + dynamic_key); // ȡ<EFBFBD><EFBFBD> + <20>ӷ<EFBFBD>
|
||||
data[i] = ~(data[i] + dynamic_key); // 取反 + 加法
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD> V3
|
||||
// 解密函数 V3
|
||||
inline void decrypt_v3(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
unsigned char dynamic_key = key + (i % 8);
|
||||
if (i % 3 == 0) {
|
||||
data[i] = (data[i] ^ dynamic_key) - dynamic_key; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ټ<EFBFBD>
|
||||
data[i] = (data[i] ^ dynamic_key) - dynamic_key; // 逆操作:先异或再减
|
||||
} else if (i % 3 == 1) {
|
||||
data[i] = (data[i] + dynamic_key) ^ dynamic_key; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
data[i] = (data[i] + dynamic_key) ^ dynamic_key; // 逆操作:先加再异或
|
||||
} else {
|
||||
data[i] = ~data[i] - dynamic_key; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ټ<EFBFBD>
|
||||
data[i] = ~data[i] - dynamic_key; // 逆操作:取反再减
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD> V4 - <20><><EFBFBD><EFBFBD>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 加密函数 V4 - 基于伪随机序列(简单线性同余生成器)
|
||||
inline void encrypt_v4(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
unsigned char rand = key;
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
rand = (rand * 13 + 17) % 256; // α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>LCG<EFBFBD><EFBFBD>
|
||||
data[i] ^= rand; // <EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
rand = (rand * 13 + 17) % 256; // 伪随机数生成(LCG)
|
||||
data[i] ^= rand; // 用伪随机数异或加密
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD> V4<56><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7>ԣ<EFBFBD>
|
||||
// 解密函数 V4(与加密完全相同,因为异或的自反性)
|
||||
inline void decrypt_v4(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
encrypt_v4(data, length, key); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵĽ<EFBFBD><EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
|
||||
encrypt_v4(data, length, key); // 异或加密的解密就是再执行一次
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD> V5 - V5 <EFBFBD>汾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>㣩
|
||||
// 加密函数 V5 - V5 版本(动态密钥派生 + 多重位运算)
|
||||
inline void encrypt_v5(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
unsigned char dynamic_key = (key + i) ^ 0x55; // <EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
unsigned char dynamic_key = (key + i) ^ 0x55; // 动态密钥派生
|
||||
data[i] = ((data[i] + dynamic_key) ^ (dynamic_key << 3)) + (i % 7);
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD> V5
|
||||
// 解密函数 V5
|
||||
inline void decrypt_v5(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
@@ -118,18 +118,18 @@ inline void decrypt_v5(unsigned char* data, size_t length, unsigned char key)
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD> V6<56><36><EFBFBD>Է<EFBFBD><D4B7>ԣ<EFBFBD> - V6 <20>汾<EFBFBD><E6B1BE>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20>Է<EFBFBD><D4B7>Խ<EFBFBD><D4BD>ܣ<EFBFBD>
|
||||
// 加密/解密函数 V6(自反性) - V6 版本(伪随机流混淆 + 自反性解密)
|
||||
inline void encrypt_v6(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
unsigned char rand = key;
|
||||
for (size_t i = 0; i < length; i++) {
|
||||
rand = (rand * 31 + 17) % 256; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
data[i] ^= rand + i; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ̬
|
||||
rand = (rand * 31 + 17) % 256; // 简单伪随机生成
|
||||
data[i] ^= rand + i; // 异或动态值
|
||||
}
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD> V6<56><36>ֱ<EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD> encrypt_v6 <EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>
|
||||
// 解密函数 V6(直接调用 encrypt_v6 即可)
|
||||
inline void decrypt_v6(unsigned char* data, size_t length, unsigned char key)
|
||||
{
|
||||
encrypt_v6(data, length, key); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD>
|
||||
encrypt_v6(data, length, key); // 异或的自反性
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user