0%

wp

2025-08-26 07:31By
niuyi
REVERSE算法分析递推

Problem: [MoeCTF 2021]ez_Algorithm

思路

发现这个fuck是一个递归函数,直接跑程序的化会因为传入的值太大需要很多的时间,所以观察递归函数.
NSSIMAGE
NSSIMAGE
发现,递归函数实际上可以转化成一个公式,fuck(n)=fuck(n-1)+2*fuck(n-2),所以可以先把需要用到的fuck值提前计算好在后面直接可以使用
,缩短了程序的运行时间.

EXP

a=[0,1]
for i in range(2,7676):
a.append(a[i-1]+2
a[i-2])
v=[109, 110, 96, 200, 21793, 11184845, 1431655726, 2863311519, 1431655731, 2863311516, 1431655782, 2863311577, 1431655690, 2863311562, 1431655780, 2863311514, 1431655690, 2863311516, 1431655741, 2863311514, 1431655718, 2863311604, 1431655778, 2863311514, 1431655736, 2863311512, 1431655723, 2863311599, 1431655781, 2863311604, 1431655724, 2863311515, 1431655712, 2863311604, 1431655719, 2863311512, 1431655732, 2863311514, 1431655780, 2863311569, 1431655782, 2863311604, 1431655778, 2863311555, 1431655782, 2863311604, 1431655736, 2863311512, 1431655732, 2863311557, 1431655780, 2863311557, 1431655730, 2863311604, 1431655781, 2863311565, 1431655690, 2863311615, 1431655780, 2863311558, 1431655782, 2863311604, 1431655734, 2863311515, 1431655736, 2863311579, 1431655780, 2863311512, 1431655725, 2863311514, 1431655778, 2863311570, 1431655786, 2863311508, 1431655786, 2863311574]
for i in range(len(v)):
print(chr((v[i]^a[i*i])%256),end='')

总结

  • 对该题的考点总结
还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有

加载中...

加载失败
广告
×
评论区
添加新评论