攻防世界-reverse-no-strings-attached

题目描述

菜鸡听说有的程序运行就能拿Flag?
下载文件后,看下文件信息,是一个可执行程序
在这里插入图片描述

思路分析

逆向出代码,发现关键点在这里
在这里插入图片描述
这里有个解密函数,解密出v2和我们的输入v1进行对比,能够匹配上就OK,说明这个v2就是我们需要的flag。

继续看这个解密函数,函数中并没有给出密文是多少,继续往前追溯就更困难了
在这里插入图片描述
因此,这里既然明确v2是我们需要的flag,那么其实没必要去弄清楚并复现该解密过程,直接调试该程序,查看堆栈中v2的值即可。

解题过程

在这个位置打断点
在这里插入图片描述

进入调试模式,查看局部变量v2所在的地址
在这里插入图片描述
堆栈中找到该地址
在这里插入图片描述
直接查看地址内容即可,可以看到内容为9447{you_are_an_international_mystery}

总结

当flag会在程序执行过程中生成时,此时没必要去完完整整的重现程序(难度比较大,当然可以用于练习),直接调试该程序,查看运行时变量的值即可,这样会大大简化难度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值