通过studyPE可以看出,文件加了壳,去壳过程不在表述,使用upx脱壳工具脱壳即可,脱壳后拖到ida pro 按F5可以看到:
可以看到想要输出 right flag 就得经过上面的算法过程, 反推发现并不好推,因为有余数计算,于是直接暴力解决,把多种可能都列出来,python脚本代码如下:
def bopo(x,v8,j,u):
for i in range(u,128):
if (v8+j+i)%64+64==ord(x):
return chr(i)
a = 'dynvFU{m@^mctQmVS~wenr'
i = 30
while i<65:
s = ''
v9 = 1
v8 = 1
for j in range(22):
if (j&1)!=0:
v8=v8+v9
x = bopo(a[j],v8,j,i)
s+=x
else:
v9=v8+v9
x = bopo(a[j],v9,j,i)
s+=x
print(s)
i+=1
得到结果如图:
根据题目提示,答案开头是bugku ,于是答案就是:bugku{So_Ez_Fibon@cci}