这里主要是flag的第二段:

image-20231018125523090

正向:大写转成小写,然后进行加密操作。小写的转化成大写进行加密操作。

最后加密后和已知道的字符串进行比较。

逆向:首先逆向加密操作,然后将大小写互相转化就可以了吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
a = [  0x0D, 0x13, 0x17, 0x11, 0x02, 0x01, 0x20, 0x1D, 0x0C, 0x02,
0x19, 0x2F, 0x17, 0x2B, 0x24, 0x1F, 0x1E, 0x16, 0x09, 0x0F,
0x15, 0x27, 0x13, 0x26, 0x0A, 0x2F, 0x1E, 0x1A, 0x2D, 0x0C,
0x22, 0x04]


b = b"GONDPHyGjPEKruv{{pj]X@rF"
#print(len(b)) 24
flag = ""

for i in range(24):
temp =(((b[i]) ^ a[i]) - 72) ^ 0x55
flag += chr(temp)
print(flag)
# WADX_TDGK_AIHC_IHKN_PJLM
swapped_string = flag.swapcase()#要将字符串中的大写字符转换为小写,小写字符转换为大写,你可以使用Python中的.swapcase()方法。
print(swapped_string)

#wadx_tdgk_aihc_ihkn_pjlm

flag{wadx_tdgk_aihc_ihkn_pjlm}