BUU-[FlareOn2]sender

简单的换表base64加密

分析猜测key.txt为输入,250函数里面🈶️加法运算,这里不过多赘述

关键是2A0函数,进入查看

这里红框的种种操作,我们猜测该加密算法为base64 ,分析知,table应该在410EB8 进入看看

Table大小写替换

000函数是一个Internet交互函数 重点为红框内的请求文发送,每四个字节的base64编码发送一次

我们直接打开流量包查看,找到明文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import base64

s = 'UDYs1D7bNmdE1o3g5ms1V6RrYCVvODJF1DpxKTxAJ9xuZW=='
k = ''
for i in range(len(s)):
if ord('A') <= ord(s[i]) and ord(s[i]) <= ord('Z'):
k += chr(ord(s[i]) + 32)
elif ord('a') <= ord(s[i]) and ord(s[i]) <= ord('z'):
k += chr(ord(s[i]) - 32)
else:
k += s[i]
print k
s = base64.b64decode(k)
k = 'flarebearstare'
flag = ''
for i in range(len(s)):
flag += chr(ord(s[i]) - ord(k[i%len(k)]))
print 'flag{' + flag + '}'