[GXYCTF2019]luck_guy
步骤:
- ida载入,shift+f12查看程序里的字符串,看到了关于flag的提示
双击跟进跳转,ctrl+x找到关键函数
flag是由f1和f1拼接而成,f1以知,f2也有,但是一看f2就知道长的不对,没有形成flag该有的样子,这边注意一下case5的代码,对长度为8的字符串进行了操作,f2(0x7F666F6067756369两位一划分)的长度正好也是8,猜测用来与f1进行拼接形成flag的字符串是f2进行了case5操作后的数据
脚本运算证实
flag="GXY{do_not_"
f2=[0x7F,0x66,0x6F,0x60,0x67,0x75,0x63,0x69][::-1] #小端序的问题,所以要逆序一下
for j in range(8):
if j%2==1 :
s=chr(f2[j]-2)
else:
s=chr(f2[j]-1)
flag+=s
print (flag)