霍雅
追求源于热爱,极致源于梦想!
查壳发现elf
直接upx -d 拖
分析主函数没东西,猜测可能是考elf执行流
果然在_init_array找到一个可疑函数
点进去rc4,因为是在ini这个位置,直接下断点调试
用pyinstxtractor.py反编译enc.exe
使用在线工具反编译pyc
得到
# Decompiled with PyLingual (https://pylingual.io)
# Internal filename: enc.py
# Bytecode version: 3.12.0rc2 (3531)
# Source timestamp: 1970-01-01 00:00:00 UTC (0)
if __name__ == '__main__':
openFile = 'eq'
outputFile = 'eqEnc'
with open(openFile, 'rb') as f:
d = f.read()
key = 'eq verySimple'
enc = []
for index, item in enumerate(d):
enc.append(item ^ ord(key[index % len(key)]))
with open(outputFile, 'wb') as f2:
f2.write(bytes(enc))
分析发现就是把eq这个文件给亦或一个值然后输出eqenc
直接用这个文件还原eqenc得到一个z3方程
直接用z3求解
from z3 import *
solver = Solver()
solver.set("threads", 16) # 使用4个线程
# 创建求解器实例
# 定义变量,假设x是整数变量
x=[BitVec(str(i),16) for i in range(38)] # 根据方程中出现的最大索引37,创建38个变量(x[0]到x[37])
for var in x:
solver.add(var >= 32, var <= 126)
known_prefix = "flag{"
for i in range(len(known_prefix)):
solver.add(x[i] == ord(known_prefix[i])) # 例如:x[0] = ord('f')=102
solver.add(x[37] == ord('}'))
# 添加方程约束
solver.add(8 * (x[0] * x[10]) - 6 * (x[0] * x[9]) + 10 * (x[1] * x[29]) + 5 * x[10] + 3 * (x[12] * x[18]) + 7 * (x[13] * x[15]) + 8 * (x[15] * x[33]) + 10 * (x[18] * x[30]) - 10 * (x[19] * x[36]) - 4 * (x[22] * x[4]) - 4 * (x[28] * x[7]) + 5 * (x[31] * x[36]) - 5 * (x[35] * x[4]) + 2 * (x[35] * x[8]) - 5 * x[37] - 142252 == 0)
solver.add(8 * (x[0] * x[3]) + 10 * (x[0] * x[32]) + 8 * (x[0] * x[6]) + 5 * (x[1] * x[4]) + 6 * x[1] - 5 * (x[10] * x[11]) - x[10] * x[33] - 6 * (x[12] * x[36]) + 10 * (x[18] * x[26]) - 8 * (x[2] * x[27]) - 8 * (x[21] * x[31]) - 2 * (x[22] * x[29]) - 2 * (x[24] * x[35]) + 9 * (x[24] * x[36]) + 3 * (x[25] * x[27]) + 5 * (x[26] * x[3]) + 10 * (x[3] * x[33]) + 3 * (x[31] * x[32]) - 9 * (x[31] * x[4]) + 2 * (x[32] * x[34]) - 314730 == 0)
solver.add(2 * (x[0] * x[27]) - 5 * (x[0] * x[37]) - 9 * (x[1] * x[22]) - 6 * (x[10] * x[5]) + 6 * (x[12] * x[24]) - 5 * (x[14] * x[15]) - 3 * (x[14] * x[37]) - 5 * (x[19] * x[26]) + 9 * (x[20] * x[27]) + 6 * (x[21] * x[24]) + 7 * (x[21] * x[29]) - 3 * (x[23] * x[26]) + 4 * (x[24] * x[36]) + 8 * (x[35] * x[8]) + 160358 == 0)
solver.add(-8 * (x[10] * x[19]) + 8 * (x[14] * x[5]) - x[15] * x[15] - 9 * (x[18] * x[27]) + 7 * (x[19] * x[32]) - 4 * (x[23] * x[6]) - 9 * (x[31] * x[7]) + 5 * x[32] + 9 * (x[4] * x[6]) - 80559 == 0)
solver.add(-2 * (x[1] * x[2]) - 2 * (x[10] * x[32]) - 7 * (x[11] * x[2]) - 6 * (x[11] * x[31]) + 9 * (x[15] * x[9]) + 2 * (x[19] * x[34]) + 7 * (x[19] * x[6]) + 9 * (x[22] * x[37]) + 3 * (x[23] * x[34]) + 9 * (x[28] * x[8]) - 9 * (x[5] * x[9]) - 59775 == 0)
solver.add(-8 * (x[0] * x[2]) + 5 * (x[1] * x[29]) - 9 * (x[10] * x[9]) + 3 * (x[11] * x[18]) - 9 * (x[12] * x[16]) + 6 * (x[12] * x[23]) - 3 * (x[12] * x[24]) - 5 * (x[14] * x[5]) - x[15] * x[23] + 6 * x[16] + 4 * (x[17] * x[33]) - 4 * (x[17] * x[6]) - 3 * (x[19] * x[23]) - 10 * (x[20] * x[26]) + 7 * (x[22] * x[3]) + 9 * (x[23] * x[24]) - 6 * (x[7] * x[9]) + 170365 == 0)
solver.add(-9 * (x[0] * x[18]) + 5 * (x[0] * x[29]) + 10 * (x[1] * x[8]) - 2 * (x[10] * x[22]) - 8 * (x[10] * x[30]) - 7 * (x[13] * x[32]) + 4 * (x[16] * x[4]) - 3 * x[16] + 7 * (x[19] * x[9]) - 8 * (x[2] * x[20]) + 2 * (x[21] * x[24]) - 7 * (x[23] * x[9]) - 8 * (x[27] * x[28]) + 4 * (x[28] * x[30]) - 10 * (x[29] * x[3]) + 7 * x[29] + 3 * (x[32] * x[33]) - 4 * (x[36] * x[5]) + 77631 == 0)
solver.add(4 * (x[0] * x[31]) - 4 * (x[10] * x[7]) - 9 * (x[11] * x[6]) + 10 * (x[12] * x[5]) - 3 * (x[13] * x[27]) + 3 * (x[16] * x[26]) + 8 * (x[17] * x[21]) - 3 * (x[17] * x[27]) - 9 * (x[18] * x[2]) + x[19] * x[32] - 2 * (x[19] * x[34]) + 10 * (x[2] * x[22]) - x[20] * x[8] + 10 * (x[24] * x[36]) + 5 * (x[3] * x[5]) + x[31] * x[34] - 2 * (x[32] * x[37]) - 7 * (x[36] * x[4]) - 143640 == 0)
solver.add(10 * (x[1] * x[34]) - 6 * (x[1] * x[9]) - 9 * (x[13] * x[32]) + 7 * (x[19] * x[24]) + x[2] * x[25] - 3 * (x[21] * x[9]) - 5 * (x[22] * x[23]) + 7 * (x[25] * x[3]) - 2 * (x[25] * x[7]) - 9 * (x[27] * x[31]) - 10 * x[27] + 2 * (x[28] * x[34]) - 8 * (x[28] * x[9]) + 10 * (x[31] * x[36]) + 6 * (x[33] * x[9]) - 10 * (x[34] * x[37]) - x[34] * x[8] + 7 * (x[35] * x[36]) - 4 * (x[36] * x[6]) - 7 * x[9] * x[9] + 113502 == 0)
solver.add(-9 * (x[1] * x[18]) - 6 * (x[10] * x[29]) - 4 * (x[12] * x[25]) + x[16] * x[21] + 6 * (x[16] * x[23]) - 6 * (x[16] * x[32]) - x[17] * x[21] - 8 * (x[18] * x[20]) + 9 * (x[18] * x[31]) + 8 * (x[2] * x[9]) + 4 * (x[22] * x[33]) + x[27] * x[31] - 2 * (x[28] * x[6]) - 5 * (x[29] * x[7]) - x[35] * x[8] - 9 * (x[4] * x[9]) + 8 * (x[6] * x[7]) + 103759 == 0)
solver.add(9 * (x[0] * x[1]) - 2 * x[0] - 6 * (x[10] * x[29]) - 6 * (x[11] * x[5]) - 4 * (x[13] * x[22]) - 6 * (x[15] * x[36]) + 3 * (x[16] * x[6]) + 7 * (x[18] * x[25]) - 8 * (x[20] * x[5]) + 7 * (x[23] * x[5]) - x[25] * x[28] + 9 * (x[26] * x[8]) - 7 * (x[29] * x[36]) - 3 * (x[30] * x[9]) + 6 * (x[35] * x[5]) - 70353 == 0)
solver.add(-5 * (x[0] * x[4]) - 8 * (x[1] * x[27]) - 7 * (x[1] * x[34]) + 7 * (x[11] * x[22]) + 4 * (x[14] * x[5]) - 5 * (x[17] * x[31]) + 10 * (x[20] * x[21]) - 7 * (x[20] * x[23]) - 2 * (x[22] * x[8]) - 7 * x[29] * x[29] + 6 * (x[29] * x[3]) + 9 * (x[30] * x[34]) + 3 * (x[31] * x[6]) - 9 * x[5] * x[5] + 82184 == 0)
solver.add(6 * (x[0] * x[28]) - x[1] * x[2] - 4 * (x[10] * x[35]) + 3 * (x[13] * x[32]) - 2 * x[17] - 2 * (x[19] * x[33]) + x[20] * x[29] - 4 * (x[21] * x[29]) - 5 * (x[24] * x[26]) + x[25] * x[26] - 5 * (x[26] * x[8]) - 6 * (x[33] * x[6]) - 8 * (x[36] * x[4]) + 113024 == 0)
solver.add(8 * (x[0] * x[24]) - 4 * (x[17] * x[2]) + 7 * (x[2] * x[37]) + 6 * (x[2] * x[7]) - 2 * (x[23] * x[5]) + x[33] * x[35] - 8 * x[9] - 133962 == 0)
solver.add(-5 * (x[0] * x[11]) - x[13] * x[21] - 7 * (x[16] * x[2]) + 9 * (x[18] * x[29]) - 2 * (x[18] * x[30]) - 7 * (x[20] * x[27]) - 5 * (x[24] * x[7]) + 10 * x[25] + 6 * (x[28] * x[29]) - 5 * (x[29] * x[4]) - 8 * (x[3] * x[34]) + 9 * (x[31] * x[33]) - 9 * x[33] * x[33] + 10 * (x[4] * x[5]) + 79412 == 0)
solver.add(-2 * (x[10] * x[8]) + 9 * (x[14] * x[20]) - 4 * (x[15] * x[21]) + 5 * (x[16] * x[2]) + x[17] * x[4] - 8 * (x[18] * x[4]) - 3 * (x[2] * x[21]) + 3 * (x[20] * x[31]) - 10 * (x[21] * x[27]) - 5 * (x[22] * x[31]) - 6 * (x[27] * x[33]) + 10 * (x[27] * x[36]) - 8 * x[35] + 29485 == 0)
solver.add(-6 * (x[0] * x[14]) - 8 * (x[1] * x[14]) + 2 * x[11] * x[11] + 4 * (x[12] * x[18]) + x[15] * x[6] + 9 * (x[16] * x[18]) - 7 * (x[18] * x[25]) - x[20] * x[20] - 8 * (x[3] * x[33]) + 10 * (x[31] * x[37]) - 10 * (x[35] * x[36]) + 7 * x[35] - 6 * (x[8] * x[9]) + 108571 == 0)
solver.add(x[10] * x[35] - 10 * (x[10] * x[37]) + 8 * (x[10] * x[7]) - 5 * (x[12] * x[30]) - 2 * (x[15] * x[34]) - 7 * (x[16] * x[22]) - 2 * (x[18] * x[31]) + 8 * (x[2] * x[33]) - 3 * (x[22] * x[5]) + 4 * (x[23] * x[27]) - 7 * (x[3] * x[35]) + 4 * (x[33] * x[8]) - x[35] * x[6] - x[6] + 169501 == 0)
solver.add(-7 * (x[0] * x[37]) - 8 * (x[1] * x[24]) + 6 * (x[11] * x[15]) - 10 * (x[11] * x[32]) - 4 * (x[13] * x[17]) - 8 * (x[14] * x[17]) - 2 * (x[14] * x[26]) + 9 * (x[16] * x[20]) + 7 * (x[16] * x[29]) - 5 * (x[16] * x[36]) - 6 * (x[18] * x[20]) + 7 * (x[20] * x[22]) + 4 * x[22] * x[22] - 8 * (x[22] * x[24]) + 7 * (x[24] * x[3]) + 5 * x[25] * x[25] - 9 * (x[25] * x[26]) - 4 * x[26] * x[26] - 6 * x[29] - 6 * (x[3] * x[37]) - x[35] * x[36] + 304140 == 0)
solver.add(-7 * (x[1] * x[11]) + 5 * (x[1] * x[37]) - x[10] * x[31] - 2 * (x[11] * x[35]) - 8 * (x[12] * x[5]) + 3 * (x[15] * x[29]) + 2 * (x[17] * x[29]) + 2 * (x[17] * x[37]) - 6 * (x[2] * x[22]) + x[2] * x[9] + 6 * (x[20] * x[25]) - 3 * (x[20] * x[26]) - 9 * (x[21] * x[34]) - 3 * (x[22] * x[27]) - 5 * (x[22] * x[4]) + 9 * (x[22] * x[7]) - 6 * (x[23] * x[34]) - 3 * (x[23] * x[6]) - 6 * (x[31] * x[5]) - 6 * (x[32] * x[8]) + x[35] * x[35] + 281492 == 0)
solver.add(5 * (x[0] * x[36]) - 9 * (x[10] * x[6]) - 5 * (x[12] * x[29]) + 6 * (x[12] * x[31]) - 7 * (x[12] * x[7]) + 8 * (x[13] * x[8]) - 5 * (x[16] * x[17]) + 8 * (x[17] * x[2]) - 5 * (x[23] * x[35]) - 3 * (x[27] * x[7]) + 8 * (x[28] * x[36]) + 8 * x[3] - 3 * (x[30] * x[9]) + 10 * (x[31] * x[8]) - 2 * (x[32] * x[5]) - 8 * (x[36] * x[8]) - 39234 == 0)
solver.add(6 * (x[1] * x[6]) - 4 * (x[10] * x[5]) + 5 * (x[11] * x[26]) + 2 * (x[14] * x[24]) + 7 * (x[15] * x[23]) - 9 * (x[16] * x[24]) + 7 * (x[18] * x[21]) - 4 * x[18] - 10 * (x[2] * x[36]) - 5 * (x[20] * x[31]) + 7 * (x[21] * x[35]) + 5 * (x[25] * x[8]) - 3 * (x[26] * x[31]) - 6 * (x[27] * x[34]) + 9 * (x[29] * x[3]) - 10 * x[31] * x[31] - 48106 == 0)
solver.add(-5 * (x[0] * x[29]) - 8 * (x[1] * x[15]) + 7 * (x[12] * x[30]) + 8 * (x[14] * x[24]) + 7 * (x[15] * x[17]) - 3 * (x[15] * x[31]) - 5 * (x[15] * x[7]) - 3 * (x[16] * x[33]) + 6 * (x[18] * x[26]) + 7 * (x[19] * x[26]) - x[20] * x[7] - 10 * (x[21] * x[6]) - 3 * (x[22] * x[29]) - 6 * (x[23] * x[25]) - 6 * (x[23] * x[3]) - 7 * (x[23] * x[33]) - 4 * (x[29] * x[31]) + 2 * (x[3] * x[35]) + 8 * (x[33] * x[8]) - 8 * (x[4] * x[6]) + 84594 == 0)
solver.add(10 * (x[1] * x[31]) - 10 * x[11] * x[11] + 6 * (x[11] * x[24]) + 4 * (x[12] * x[17]) + 8 * (x[22] * x[31]) + 9 * (x[3] * x[32]) + 5 * (x[3] * x[7]) + 9 * (x[30] * x[7]) + 5 * (x[31] * x[5]) + 8 * x[9] - 250665 == 0)
solver.add(8 * (x[1] * x[29]) + 6 * (x[1] * x[3]) + 7 * (x[11] * x[15]) - 3 * (x[11] * x[22]) - 10 * (x[12] * x[24]) + 7 * (x[12] * x[28]) + 4 * (x[12] * x[29]) + 5 * (x[13] * x[22]) + 4 * (x[13] * x[34]) - 7 * x[13] - 3 * (x[16] * x[19]) - 9 * (x[16] * x[28]) - 4 * (x[18] * x[35]) + 8 * (x[19] * x[26]) - 6 * (x[23] * x[34]) - 4 * (x[23] * x[6]) + x[23] * x[9] + 2 * (x[24] * x[9]) + 9 * (x[25] * x[31]) + 9 * (x[29] * x[33]) - 2 * (x[29] * x[6]) - 9 * (x[3] * x[5]) + x[30] * x[31] + 4 * (x[30] * x[32]) - 9 * (x[34] * x[7]) - 136458 == 0)
solver.add(7 * (x[12] * x[20]) - 2 * (x[13] * x[27]) + 7 * (x[15] * x[29]) - 5 * (x[15] * x[3]) - 7 * (x[15] * x[31]) + 2 * (x[15] * x[6]) - 7 * (x[16] * x[17]) - 6 * (x[16] * x[28]) - x[18] * x[20] - x[19] * x[32] + x[21] * x[30] + 9 * (x[23] * x[4]) + x[25] * x[35] + 5 * (x[26] * x[29]) - 9 * (x[30] * x[32]) - 4 * (x[32] * x[7]) + 9 * x[34] + x[37] * x[4] - 8 * (x[8] * x[9]) + 134345 == 0)
solver.add(-8 * (x[0] * x[19]) - 8 * (x[1] * x[21]) - x[10] * x[13] - x[15] * x[4] - 4 * (x[21] * x[22]) - 8 * x[24] * x[24] - 7 * (x[26] * x[8]) - 5 * (x[28] * x[32]) + 8 * (x[29] * x[3]) - 3 * (x[35] * x[4]) + 8 * x[36] + 226409 == 0)
solver.add(4 * (x[0] * x[23]) + 8 * (x[0] * x[34]) + 2 * (x[1] * x[27]) - 5 * (x[10] * x[11]) - 3 * (x[10] * x[13]) - 6 * (x[21] * x[22]) + 8 * (x[21] * x[34]) - 6 * (x[22] * x[37]) + 8 * (x[23] * x[28]) + 6 * (x[3] * x[8]) - 3 * (x[36] * x[8]) - x[37] * x[37] - x[5] * x[8] + 7846 == 0)
solver.add(-9 * (x[0] * x[27]) + 10 * x[0] + 5 * (x[13] * x[25]) - 4 * (x[15] * x[29]) - 9 * (x[15] * x[30]) - 9 * (x[16] * x[17]) - x[17] * x[32] + 9 * (x[17] * x[4]) + 6 * x[19] * x[19] + 6 * (x[2] * x[20]) + 3 * (x[20] * x[33]) + 2 * x[21] - 9 * x[25] - 4 * (x[26] * x[31]) + 7 * (x[29] * x[35]) - 7 * (x[30] * x[35]) - 7 * x[31] - x[4] * x[4] - 3 * (x[8] * x[9]) + 129180 == 0)
solver.add(6 * (x[0] * x[20]) + 10 * (x[17] * x[29]) - 9 * (x[2] * x[7]) + 6 * (x[21] * x[22]) - 10 * (x[21] * x[33]) - 9 * (x[21] * x[34]) - 8 * x[26] * x[26] + 8 * (x[3] * x[36]) + x[30] * x[8] + 5 * (x[33] * x[8]) - 2 * x[33] - 3 * x[34] * x[34] + x[35] + 6 * (x[36] * x[9]) + 6904 == 0)
solver.add(10 * (x[0] * x[5]) - 3 * x[1] + 2 * (x[10] * x[26]) + 10 * (x[11] * x[23]) + 10 * x[13] * x[13] - x[14] * x[5] + 2 * (x[14] * x[8]) + 8 * (x[15] * x[20]) + 3 * (x[15] * x[21]) - 10 * (x[15] * x[8]) - 6 * (x[18] * x[2]) + 7 * (x[19] * x[24]) - 7 * (x[2] * x[24]) + 4 * (x[2] * x[28]) - 4 * (x[2] * x[5]) + x[21] * x[21] - 6 * x[26] * x[26] - 6 * x[32] * x[32] + 2 * (x[33] * x[8]) - 9 * (x[34] * x[9]) + 7 * x[5] * x[5] - 10 * x[7] - 99502 == 0)
solver.add(-4 * (x[10] * x[26]) - 8 * (x[12] * x[32]) - 10 * (x[14] * x[29]) - 7 * (x[24] * x[9]) + 10 * (x[28] * x[32]) - 6 * (x[28] * x[34]) + 2 * x[28] - 8 * (x[36] * x[4]) + 182526 == 0)
solver.add(-x[1] * x[8] - 9 * (x[10] * x[32]) - 6 * (x[11] * x[33]) - x[13] * x[22] + x[14] * x[32] - x[15] * x[32] + 7 * (x[17] * x[24]) - 4 * x[19] * x[19] + 8 * (x[2] * x[5]) + 3 * (x[20] * x[6]) + 10 * (x[21] * x[7]) - 6 * (x[26] * x[5]) - 9 * (x[34] * x[8]) - 10 * (x[35] * x[36]) + 110094 == 0)
solver.add(-5 * (x[12] * x[24]) - 9 * (x[16] * x[18]) - 6 * (x[16] * x[22]) + 2 * (x[16] * x[36]) - x[17] * x[3] + 6 * x[17] - 2 * (x[18] * x[4]) + 2 * (x[19] * x[28]) - 6 * (x[23] * x[37]) - 2 * (x[25] * x[29]) - x[26] * x[30] + 7 * (x[28] * x[7]) + 9 * (x[29] * x[5]) - 2 * (x[30] * x[32]) + 4 * (x[30] * x[33]) + 6 * x[31] * x[31] - 4 * (x[34] * x[35]) + 110939 == 0)
solver.add(-2 * (x[0] * x[24]) + x[0] * x[36] - 10 * (x[1] * x[26]) - 8 * (x[10] * x[7]) + 2 * x[10] - 6 * (x[11] * x[37]) + 10 * (x[2] * x[33]) - 4 * x[2] + x[20] * x[25] - 5 * (x[21] * x[24]) - 8 * (x[25] * x[32]) - 2 * (x[28] * x[6]) - 10 * (x[3] * x[35]) + 6 * (x[32] * x[34]) + 8 * (x[5] * x[9]) + 211248 == 0)
solver.add(-4 * (x[11] * x[7]) + 3 * (x[12] * x[3]) - 6 * (x[12] * x[5]) - 10 * (x[13] * x[14]) + 10 * (x[14] * x[24]) + 7 * (x[16] * x[8]) - 2 * (x[17] * x[22]) + 8 * (x[2] * x[21]) + x[25] * x[37] + 3 * (x[25] * x[4]) - 7 * (x[26] * x[34]) - 2 * x[27] * x[27] - x[27] * x[37] + 8 * (x[27] * x[6]) + 7 * (x[4] * x[9]) - 52034 == 0)
solver.add(-x[0] * x[15] - 2 * (x[0] * x[18]) + 6 * (x[0] * x[9]) - 7 * (x[1] * x[34]) - 7 * (x[11] * x[8]) + 8 * x[14] * x[14] + 7 * (x[14] * x[29]) + 4 * (x[18] * x[34]) + 4 * (x[23] * x[27]) + 9 * (x[24] * x[30]) - x[3] * x[34] + x[30] * x[5] - 5 * (x[31] * x[34]) - 7 * (x[7] * x[9]) - 3 * x[9] - 46825 == 0)
solver.add(-6 * (x[1] * x[23]) + x[10] * x[18] - 8 * (x[12] * x[14]) + 3 * (x[13] * x[37]) - 3 * (x[15] * x[24]) + 3 * (x[18] * x[21]) + 9 * (x[22] * x[31]) + 8 * (x[26] * x[8]) + 10 * x[3] * x[3] + x[31] * x[33] + 6 * (x[4] * x[7]) - 197975 == 0)
if solver.check() == sat:
# 获取模型
model = solver.model()
# 打印所有变量的解
solution = []
for i in range(38):
val = model[x[i]].as_long()
solution.append((i, val, chr(val))) # 存储索引、数值和对应字符
# 按格式打印结果
print("找到满足条件的解:")
for idx, num, char in solution:
print(f"x[{idx}] = {num} (ASCII: '{char}')")
# 也可以打印为连续字符串
flag = ''.join([chr(model[x[i]].as_long()) for i in range(38)])
print("\n拼接后的字符串:")
print(flag)
else:
print("未找到满足所有约束的解")
拼接后的字符串:
flag{b79e08ddaaab41356a468d271a5e3435}
分析主函数
用户输入一个内容,然后输入一个key,经过两个vm的函数最后和flag这个文件的内容比较
看vm调用的缓冲区和代码可以看到一些256的特征
ai分析也可能是rc4之类的流加密,但是输入的值和key根据常规rc比较,发现不一样,猜测是有魔改,所以想爆破key是不可能的
经过调试和分析,可以断定一个就是rc4的s盒,一个是加密函数
然后就是疯狂的找key中
然后找不到,不会了
有大佬解出这题的话,还请教教我
爆破