题目链接:https://buuoj.cn/challenges#reverse3
把题目拖进exeinfo里,是个32位的,无壳
把题目拖进IDA中,找到main_0函数,按F5得到伪代码
简单分析一下啊
输入一串字符串,放在Str里,然后Str经过sub_4110BE函数处理后,得到的结果放在v1里,然后把v1 copy到Dest里。再把Dest经过for循环处理后与Str2对比,相等就是right flag。
跟进sub_4110BE函数
这是一个base64加密函数,再看看Str2是什么
写个脚本解一下
import base64
str = "e3nifIH9b_C@n@dH"
str1 = ""
flag = ""
for i in range(len(str)):
str1 += chr(ord(str[i])-i)
flag = base64.b64decode(str1)
print(flag)
flag:{i_l0ve_you}