这题的思路总的来说和reverse1一样
用exeinfo查看文件结构
发现是64位的elf文件,用ida打开看看,打开后查看main函数
分析代码,这道题是属于字符串替换类型,s2是我们输入的内容,flag经过字符串替换后与s2对比,对比成功即是flag。下一步双击flag,查看flag的值。
flag的值为{hacking_for_fun}
编写exp
flag='{hacking_for_fun}'
s2=''
for i in range(len(flag)):
if ord(flag[i])==105 or ord(flag[i])==114:
s2=s2+chr(49)
else:
s2=s2+flag[i]
print(s2)
代码运行结果为{hack1ng_fo1_fun},加上前缀flag{hack1ng_fo1_fun}即为flag