程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

第四十七题讲解攻防世界之easyCpp

发布于2021-06-07 20:49     阅读(1152)     评论(0)     点赞(24)     收藏(5)


easyCpp

这个刚开始看的话,确实有点看不下去!所以我直接动态调试,调试到最后看看能不能出flag!
在这里插入图片描述
所以我又开始了静态分析!
在这里插入图片描述
此时我们可以去fib函数里面看看!
在这里插入图片描述
这里是个递归!最后应该将数列储存在了LODWORD(v29)这里了!

C++的确实这里没有学过!

容器(Containers) 容器是用来管理某一类对象的集合。C++ 提供了各种不同类型的容器,比如 deque、list、vector、map 等。

算法(Algorithms) 算法作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。

迭代器(iterators) 迭代器用于遍历对象集合的元素。这些集合可能是容器,也可能是容器的子集。

STL的知识确实没有学习过,这里其实是凭借着经验主义来行事的!
在这里插入图片描述
然后我们进去看看!
在这里插入图片描述
此时我们就需要搞懂这两个函数到底时干什么的!
在这里插入图片描述
然后再经过循环看看结果,从而推导出这里的加密方式!
在这里插入图片描述
还有就是分析的时候要注意是地址还是地址里面的内容!
在这里插入图片描述
那个判断应该就是判断是否输入与斐波那契数列是否一致!
这样的话是可以找到我们要输入什么,知道了输入什么正确也就意味着flag找到了!
在这里插入图片描述
在这里插入图片描述
此时我们就可以开始写脚本了!

def fib(i):#模拟斐波那契数列
    if not i or i == 1:
        return 1
    j = fib(i - 1)
    return j + fib(i - 2)

data = [0] * 16
j = 15
for i in range(16):
    data[j] = fib(i)
    j -= 1
print(data)#模拟逆序
for i in range(1,len(data)):#模拟将其进行斐波那契规律
    print(data[i] - data[0])

然后输入这个数组就可以了!
在这里插入图片描述




所属网站分类: 技术文章 > 博客

作者:临摹

链接:http://www.phpheidong.com/blog/article/89498/7d395e376b5abc9a95ad/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)