主函数,调试半天没有看懂加密了个啥,就发现了一个异或
然后GPT跑了一下
这个地方创建了六个函数线程,打开瞧瞧,
MD5加密,找个在线网站解一下。配合前面异或解出FLAG
解出六组字符串,但是拼接在一起的顺序不知道,所以需要爆破。六的阶乘逆天
再看前面异或部分
v10是在前面有一次递归异或。但是v17我是怎么也没看懂,看了wp居然是和v10加密前的字符串不一样的顺序,也就是要爆破六的阶乘次六的阶乘次方。逆天
附上WP
key=[0xFE, 0xE9, 0xF4, 0xE2, 0xF1, 0xFA, 0xF4, 0xE4, 0xF0, 0xE7, 0xE4, 0xE5, 0xE3, 0xF2, 0xF5, 0xEF, 0xE8, 0xFF, 0xF6, 0xF4, 0xFD, 0xB4, 0xA5, 0xB2]
from itertools import permutations
def generate_all_permutations(strings):
all_permutations = [''.join(p) for p in permutations(strings)]
return all_permutations
# 输入数据
data0 = 'juhu'
data1 = 'hfen'
data2 = 'laps'
data3 = 'iuer'
data4 = 'hjif'
data5 = 'dunu'
# 将数据放入列表
input_strings = [data0, data1, data2, data3, data4, data5]
# 生成所有可能的乱序拼接结果
result = generate_all_permutations(input_strings)
# 打印所有结果
def xor(strings,ac):
v11=0
v10=0
flag=''
for i in range(len(strings)):
v11=ord(strings[i])+i
v10^=v11
for i in range(24):
flag+=chr(v10^ord(ac[i])^key[i])
print(flag)
# 示例
input_strings = [data0, data1, data2, data3, data4, data5]
result = generate_all_permutations(input_strings)
# 打印所有可能的拼接结果
for combination in result:
for ab in result:
if len(combination)==24:
xor(combination,ab)
、
搜索到flag : goodjobyougetthisflag233