题目链接:https://buuoj.cn/challenges#[ACTF%E6%96%B0%E7%94%9F%E8%B5%9B2020]rome
把题目拖进exeinfo中看一下,是个32位程序,无壳
把题目拖进IDA中,可以看到一个func()函数
这就是简单的加密函数,写个脚本破解一下。
通过观察可以发现,对大写字母的加密是加了14,对小写字母的加密是加了18
也可以一个个试,暴力破解
s = [81,115,119,51,115,106,95,108,122,52,95,85,106,119,64,108]
flag = ''
for i in s:
if i > 64 and i <= 90:
i -= 14
if i < 65:
i += 26
flag += chr(i)
elif i > 96 and i <= 122:
i -= 18
if i < 97:
i += 26
flag += chr(i)
else:
flag += chr(i)
print(flag)
flag:Cae3ar_th4_Gre@t