题目链接: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
本文介绍了一个简单的加密函数,通过对大写字母加14、小写字母加18的方式进行加密。利用Python脚本实现了对该加密方式的逆向破解,并给出了正确的flag。
1539

被折叠的 条评论
为什么被折叠?



