本帖最后由 dat恶人 于 2022-12-14 18:40 编辑
只要调用精易模块 就可以直接使用(使用了精易模块的几个DLL)
源码无调用模块以图片为准,之前那份解密没加密钥,所以解密失败,总体代码没问题
bat_自创数据加密 文本型 加密文本 文本型 密钥 文本型
变量名 类 型 静态 数组 备 注 初始数据 字节集 加密密钥 字节集 随机前置 字节集 随机前置减数 整数型 i 整数型 临时文本 文本型 x 文本型 0
x =
{ “y” ,
“P” ,
“H” ,
“!” ,
“\” ,
“m” ,
“2” ,
“o” ,
“z” ,
“x” ,
“#” ,
“@” ,
“*” ,
“s” ,
“Q” ,
“F” ,
“d” ,
“3” ,
“Z” ,
“_” ,
“t” ,
“1” ,
“L” ,
“n” ,
“I” ,
“>” ,
“A” ,
“c” ,
“7” ,
“0” ,
“E” ,
“~” ,
“u” ,
“5” ,
“8” ,
“r” ,
“k” ,
“G” ,
“J” ,
“X” ,
“|” ,
“4” ,
“S” ,
“'” ,
“R” ,
“[” ,
“O” ,
“w” ,
“g” ,
“9” ,
“i” ,
“B” ,
“W” ,
“6” ,
“p” ,
“{” ,
“l” ,
“.” ,
“,” ,
“%” ,
“/” ,
“h” ,
“N” ,
“q” ,
“C” ,
“U” ,
“j” ,
“V” ,
“Y” ,
“D” ,
“e” ,
“f” ,
“K” ,
“T” ,
“b” ,
“&” ,
“?” ,
“v” ,
“a” ,
“M” ,
“;” } 初始数据 =
到字节集 ( “bat” + 加密文本 +
“bat” ) 加密密钥 =
到字节集 ( “bat” + 密钥 +
“bat” ) 随机前置 =
{ 0, 0, 0
} 置随机数种子 ( ) 随机前置
[ 1
] =
取随机数 ( 0, 9
) 随机前置
[ 2
] =
取随机数 ( 0, 9
) 随机前置
[ 3
] =
取随机数 ( 0, 9
) 初始数据 = 初始数据 + 随机前置
如果真 ( 密钥 =
“” ) 随机前置减数 =
取随机数 ( 0, 随机前置
[ 2
] ) 随机前置
[ 2
] = 随机前置
[ 2
] - 随机前置减数
初始数据 = 随机前置 + 初始数据 计次循环首 ( 取字节集长度 ( 加密密钥
) , i
) 加密密钥
[ i
] = 加密密钥
[ i
] + 1
计次循环尾 ( ) 加密密钥 =
双位排列 ( 加密密钥,
真 ) 初始数据 =
双位排列 ( 初始数据,
真 ) 初始数据 = 加密密钥 + 初始数据 + 加密密钥
初始数据 =
双位排列 ( 初始数据,
真 ) 置随机数种子 ( ) 随机前置减数 =
取随机数 ( 1, 5
) 计次循环首 ( 取字节集长度 ( 初始数据
) , i
) 如果 ( i % 2 = 1
) 初始数据
[ i
] = 初始数据
[ i
] + 随机前置减数
初始数据
[ i
] = 初始数据
[ i
] + 随机前置减数 - 1
计次循环尾 ( ) 初始数据 =
双位排列 ( 初始数据,
真 ) +
{ 0
} i =
取字节集长度 ( 初始数据
) 初始数据
[ i
] = 随机前置减数
随机前置 =
{ 0, 0
} 置随机数种子 ( ) 随机前置
[ 1
] =
取随机数 ( 0, 9
) 随机前置
[ 2
] =
取随机数 ( 0, 9
) 初始数据 = 随机前置 + 初始数据
随机前置
[ 1
] = 随机前置
[ 1
] % 2
随机前置
[ 2
] = 随机前置
[ 2
] % 3
初始数据 = 初始数据 + 随机前置
临时文本 =
字节集转十六进制 ( 初始数据
) 临时文本 =
到文本 ( 十六进制转数值 ( 生成加密校验码 ( 临时文本
) ) % 3
) + 临时文本 +
生成加密校验码 ( 临时文本
) i =
取随机数 ( 5, 75
) 临时文本 = x
[ i
] + x
[ i - 1
] + 临时文本 + x
[ i + 2
] + x
[ i + 3
] 临时文本 =
三位排列 ( 到文本 ( 双位排列 ( 到字节集 ( 临时文本
) ,
真 ) ),
真 ) 返回 ( 临时文本
) bat_自创数据加密_反 文本型 解密文本 文本型 密钥 文本型
变量名 类 型 静态 数组 备 注 初始数据 字节集 长度 整数型 随机前置减数 整数型 i 整数型 加密密钥 字节集 随机前置 字节集 临时文本 文本型 x 文本型 0
x =
{ “y” ,
“P” ,
“H” ,
“!” ,
“\” ,
“m” ,
“2” ,
“o” ,
“z” ,
“x” ,
“#” ,
“@” ,
“*” ,
“s” ,
“Q” ,
“F” ,
“d” ,
“3” ,
“Z” ,
“_” ,
“t” ,
“1” ,
“L” ,
“n” ,
“I” ,
“>” ,
“A” ,
“c” ,
“7” ,
“0” ,
“E” ,
“~” ,
“u” ,
“5” ,
“8” ,
“r” ,
“k” ,
“G” ,
“J” ,
“X” ,
“|” ,
“4” ,
“S” ,
“'” ,
“R” ,
“[” ,
“O” ,
“w” ,
“g” ,
“9” ,
“i” ,
“B” ,
“W” ,
“6” ,
“p” ,
“{” ,
“l” ,
“.” ,
“,” ,
“%” ,
“/” ,
“h” ,
“N” ,
“q” ,
“C” ,
“U” ,
“j” ,
“V” ,
“Y” ,
“D” ,
“e” ,
“f” ,
“K” ,
“T” ,
“b” ,
“&” ,
“?” ,
“v” ,
“a” ,
“M” ,
“;” } 临时文本 = 解密文本
临时文本 =
到文本 ( 双位排列 ( 到字节集 ( 三位排列 ( 临时文本,
假 ) ),
假 ) )
i =
十六进制转数值 ( 取文本左边 ( 临时文本, 1
) )
如果真 ( 取文本左边 ( 临时文本, 2
) ≠ x
[ i
] + x
[ i - 1
] 或 取文本右边 ( 临时文本, 2
) ≠ x
[ i + 2
] + x
[ i + 3
] ) 返回 ( “” ) 解密文本 =
取文本中间 ( 临时文本, 3,
取文本长度 ( 临时文本
) - 4
) 临时文本 =
取文本中间 ( 解密文本, 2,
取文本长度 ( 解密文本
) - 2
) 如果真 ( 生成加密校验码 ( 临时文本
) ≠
取文本右边 ( 解密文本, 1
) 或 十六进制转数值 ( 生成加密校验码 ( 临时文本
) ) % 3 ≠
到整数 ( 取文本左边 ( 解密文本, 1
) )
) 返回 ( “” ) 初始数据 =
十六进制转字节集 ( 临时文本
) 长度 =
取字节集长度 ( 初始数据
) - 4
如果真 ( 初始数据
[ 1
] % 2 ≠ 初始数据
[ 长度 + 3
] 或 初始数据
[ 2
] % 3 ≠ 初始数据
[ 长度 + 4
] ) 返回 ( “” ) 初始数据 = 取字节集左边 ( 初始数据, 长度 + 2) 初始数据 =
取字节集右边 ( 初始数据, 长度
) 随机前置减数 = 初始数据
[ 长度
] 初始数据 =
双位排列 ( 取字节集左边 ( 初始数据, 长度 - 1
) ,
假 ) 计次循环首 ( 取字节集长度 ( 初始数据
) , i
) 如果 ( i % 2 = 1
) 初始数据
[ i
] = 初始数据
[ i
] - 随机前置减数
初始数据
[ i
] = 初始数据
[ i
] - 随机前置减数 + 1
计次循环尾 ( ) 初始数据 =
双位排列 ( 初始数据,
假 ) 加密密钥 =
到字节集 ( “bat” + 密钥 +
“bat” ) 计次循环首 ( 取字节集长度 ( 加密密钥
) , i
) 加密密钥
[ i
] = 加密密钥
[ i
] + 1
计次循环尾 ( ) 加密密钥 =
双位排列 ( 加密密钥,
真 ) 如果真 ( 取字节集左边 ( 初始数据,
取字节集长度 ( 加密密钥
) ) ≠ 加密密钥
或 取字节集右边 ( 初始数据,
取字节集长度 ( 加密密钥
) ) ≠ 加密密钥
) 返回 ( “” ) 初始数据 = 取字节集右边 ( 取字节集左边 ( 初始数据, 取字节集长度 ( 初始数据) - 取字节集长度 ( 加密密钥) ), 取字节集长度 ( 初始数据) - 取字节集长度 ( 加密密钥) × 2) 初始数据 =
双位排列 ( 初始数据,
假 ) 随机前置 =
取字节集左边 ( 初始数据, 3
) 长度 =
取字节集长度 ( 初始数据
) 初始数据 =
取字节集右边 ( 取字节集左边 ( 初始数据, 长度 - 3
) , 长度 - 6
) 临时文本 =
到文本 ( 初始数据
) 如果真 ( 取文本左边 ( 临时文本, 3
) ≠
“bat” 或 取文本右边 ( 临时文本, 3
) ≠
“bat” ) 返回 ( “” ) 返回 ( 取文本中间 ( 临时文本, 4, 取文本长度 ( 临时文本) - 6) )变量名 类 型 静态 数组 备 注 len 整数型 单元1 整数型 单元2 整数型 单元3 整数型 明文1 文本型 明文2 文本型 明文3 文本型 最终返回文本 文本型 i 整数型 N 整数型
len =
取文本长度 ( 输入文本
) 如果 ( 是否为未排列
) 如果 ( len % 3 = 1
) 单元1
= ( len - 1
) ÷ 3 + 1
单元2
= ( len - 单元1
) ÷ 2
如果 ( len % 3 = 0
) 单元1 = len ÷ 3
单元1
= ( len - 1
) ÷ 3 + 1
单元2 = 单元1 单元3 = len - 单元1 - 单元2 明文1 =
取文本左边 ( 输入文本, 单元1
) 明文2 =
取文本中间 ( 输入文本, 单元1 + 1, 单元2
) 明文3 =
取文本右边 ( 输入文本, 单元3
) 计次循环首 ( 取文本长度 ( 输入文本
) , i
) 判断 ( i % 3 = 1
) N = N + 1
最终返回文本 = 最终返回文本 +
取文本中间 ( 明文1, N, 1
) 判断 ( i % 3 = 2
) 最终返回文本 = 最终返回文本 +
取文本中间 ( 明文2, N, 1
) 最终返回文本 = 最终返回文本 +
取文本中间 ( 明文3, N, 1
) 计次循环尾 ( ) 计次循环首 ( 取文本长度 ( 输入文本
) , i
) 判断 ( i % 3 = 1
) 明文1 = 明文1 +
取文本中间 ( 输入文本, i, 1
) 判断 ( i % 3 = 2
) 明文2 = 明文2 +
取文本中间 ( 输入文本, i, 1
) 明文3 = 明文3 +
取文本中间 ( 输入文本, i, 1
) 计次循环尾 ( ) 最终返回文本 = 明文1 + 明文2 + 明文3
返回 ( 最终返回文本
) 双位排列 字节集 输入字节集 字节集 是否为未排列 逻辑型
变量名 类 型 静态 数组 备 注 明文1 字节集 明文2 字节集 长度 整数型 前半长度 整数型 临时字节集 字节集 i 整数型 ii 整数型
长度 =
取字节集长度 ( 输入字节集
) 如果 ( 绝对取整 ( 长度 ÷ 2
) = 长度 ÷ 2
) 前半长度 = 长度 ÷ 2
前半长度 = 长度 ÷ 2 + 1
如果 ( 是否为未排列
) 明文1 =
取字节集左边 ( 输入字节集, 前半长度
) 明文2 =
取字节集右边 ( 输入字节集, 长度 - 前半长度
) 临时字节集 =
取空字节 ( 长度
) 计次循环首 ( 长度, i
) 如果 ( i % 2 = 1
) ii = ii + 1
临时字节集
[ i
] = 明文1
[ ii
] 临时字节集
[ i
] = 明文2
[ ii
] 计次循环尾 ( ) 明文1 =
取空字节 ( 前半长度
) 明文2 =
取空字节 ( 长度 - 前半长度
) 计次循环首 ( 长度, i
) 如果 ( i % 2 = 1
) ii = ii + 1
明文1
[ ii
] = 输入字节集
[ i
] 明文2
[ ii
] = 输入字节集
[ i
] 计次循环尾 ( ) 临时字节集 = 明文1 + 明文2
返回 ( 临时字节集) 如果真 ( 长度 ≤ 0
) 置入代码 ( { 51, 192, 139, 229, 93, 194, 4, 0
} ) 字节集指针 = HeapAlloc ( GetProcessHeap ( ) , 8, 长度 + 8) 如果真 ( 字节集指针 = 0
) 置入代码 ( { 139, 229, 93, 194, 4, 0
} ) 置入代码 ( { 254, 0, 255, 117, 8, 143, 64, 4, 139, 229, 93, 194, 4, 0 } ) 返回 ( { } ) 变量名 类 型 静态 数组 备 注 len 整数型 byte 整数型 high 整数型 low 整数型 ret 字节集 len_ret 整数型 i 整数型 j 整数型
len =
取字节集长度 ( 原始字节集
) len_ret = len × 2
ret =
取空字节 ( len_ret + 1
) 变量循环首 ( 1, len_ret, 2, j
) i = i + 1
byte = 原始字节集
[ i
] 如果 ( byte > 15
) high =
位与 ( 右移 ( byte, 4
) , 15
) 如果 ( high > 9
) ret
[ j
] = high + 55
ret
[ j
] = high + 48
ret
[ j
] = 48
low = 位与 ( byte, 15) 如果 ( low > 9
) ret
[ j + 1
] = low + 55
ret
[ j + 1
] = low + 48
变量循环尾 ( ) 返回 ( 到文本 ( ret
) )
变量名 类 型 静态 数组 备 注 bytes_ret 字节集 bytes 字节集 len 整数型 p1 整数型 byte1 整数型 byte2 整数型 i 整数型
bytes =
到字节集 ( 原始16进制文本
) len =
取字节集长度 ( bytes
) 如果真 ( 位与 ( len, 1
) = 1
) bytes = bytes +
{ 0
} len = len + 1
bytes
[ len
] = bytes
[ len - 1
] bytes
[ len - 1
] = 48
bytes_ret = 取空字节 ( 右移 ( len, 1) ) 变量循环首 ( 1, len, 2, p1
) i = i + 1
byte1 = bytes
[ p1
] byte2 = bytes
[ p1 + 1
] 判断 ( byte1 > 96
) byte1 = byte1 - 87
判断 ( byte1 > 64
) byte1 = byte1 - 55
byte1 = byte1 - 48
判断 ( byte2 > 96
) byte2 = byte2 - 87
判断 ( byte2 > 64
) byte2 = byte2 - 55
byte2 = byte2 - 48
bytes_ret [ i] = 左移 ( byte1, 4) + byte2 变量循环尾 ( ) 返回 ( bytes_ret
) x =
“yPH!\m2ozx#@*sQFd3Z_t1LnI>Ac70E~u58rkGJX|4S'R[Owg9iBW6p{l.,%/hNqCUjVYDefKTb&?vaM;” i =
寻找文本 ( x, 十六进制文本, ,
假 ) 如果 ( i = -1
) 返回 ( 81
) 返回 ( i
) 变量名 类 型 静态 数组 备 注 x 文本型 0 i 整数型 n 整数型
x =
{ “y” ,
“P” ,
“H” ,
“!” ,
“\” ,
“m” ,
“2” ,
“o” ,
“z” ,
“x” ,
“#” ,
“@” ,
“*” ,
“s” ,
“Q” ,
“F” ,
“d” ,
“3” ,
“Z” ,
“_” ,
“t” ,
“1” ,
“L” ,
“n” ,
“I” ,
“>” ,
“A” ,
“c” ,
“7” ,
“0” ,
“E” ,
“~” ,
“u” ,
“5” ,
“8” ,
“r” ,
“k” ,
“G” ,
“J” ,
“X” ,
“|” ,
“4” ,
“S” ,
“'” ,
“R” ,
“[” ,
“O” ,
“w” ,
“g” ,
“9” ,
“i” ,
“B” ,
“W” ,
“6” ,
“p” ,
“{” ,
“l” ,
“.” ,
“,” ,
“%” ,
“/” ,
“h” ,
“N” ,
“q” ,
“C” ,
“U” ,
“j” ,
“V” ,
“Y” ,
“D” ,
“e” ,
“f” ,
“K” ,
“T” ,
“b” ,
“&” ,
“?” ,
“v” ,
“a” ,
“M” ,
“;” } 计次循环首 ( 取文本长度 ( 十六进制文本
) , i
) n = n +
十六进制转数值 ( 取文本中间 ( 十六进制文本, i, 1
) ) + 1
计次循环尾 ( ) 返回 ( x
[ ( n - 1
) % 79 + 1
] )
bat加密源码.e
24.05 KB, 下载次数: 198, 下载积分: 精币 -2 枚
之前那份没保存成功,没加密钥,这份加上了密钥就可以了
评分
查看全部评分