解题思路:判断 java 文件,JADX 反编译,逆向脚本

1. 用 DIE 查看文件属性,看到是 java 的文件

image-20241120194517594

2. 用 JADX 打开,找到源代码并分析代码,发现是异或,原数据先 +@再与 32 进行了异或运算

image-20241120194522894

3. 写个逆向脚本即可得到 flag

1
2
3
4
5
6
7
8
9
key = [180, 136, 137, 147, 191, 137, 147, 191, 148, 136, 133, 191, 134, 140, 129, 135, 191, 65]
flag=''

for i in key:
a = (i ^ 32) - ord('@')
flag += chr(a)
print(chr(a), end='')
print()
print(f"flag{{{flag}}}")

image-20241120194527217

flag