情景再现

先查壳

image-20230221183532771

然后X64dbg运行一下看看 顺便看看字符串

image-20230221183609612

看到了base64的特征 (难道真就base64这么easy——re嘛)

拖入ida64分析一下

image-20230221183724792

一看 哦 原来有是个加密call

第一个 就是正常base64加密

image-20230221184105851

(不确定的话可以动调 试一试)

image-20230221184803512

image-20230221184914649

第二个 仔细看看 是重新排序了一下字符串

13个为一组(刚好密文52个字符 正好4组)

image-20230221184003308

第三个call 是Caesar加密

当然可以直接逆算法写 很好写的

image-20230221185008781

贴exp

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

encData = 'EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3=cT6QckkPckoRG'
encData1 = ''
# caesar 加密
for i in encData:
if 47 < ord(i) <= 57:
encData1 += chr((ord(i) - 48 - 3) % 10 + 48)
elif 96 < ord(i) <= 122:
encData1 += chr((ord(i) - 97 - 3) % 26 + 97)
elif 64 < ord(i) <= 90:
encData1 += chr((ord(i) - 65 - 3) % 26 + 65)
else:
encData1 += i
print(encData1)
# 每13个一组换位置
flag = encData1[13:26] + encData1[39:] + encData1[:13] + encData1[26:39]
print(flag)
# base64 加密
print(base64.b64decode(flag))

#GWHT{672cc4778a38e80cb362987341133ea2}

flag{672cc4778a38e80cb362987341133ea2}

提交一下 过啦

Orz

总结


今天你 RE 了嘛


这道题确实easy

没啥好说的

() Orz

好的 本期结束 感谢观看