BUUCTF-[FlareOn4]IgniteMe

[FlareOn4]IgniteMe

 

 

看到了跟以往不一样的代码,不要慌,仔细看其实还是大概知道是什么意思的

无非就是读取字符串,进行 in()的操作,然后再check()判断,都是逆向题的基操了

看看in()

 

就是对输入的字符串进行读取和要求:输入的值不能等于10或13,否则就不读取该元素,最后输出的就是我们输入的字符串

再看看check()

 

对输入的字符串进行一系列操作并与目标字符串进行比较,其中v1是字符串长度,跟进给v4赋值的函数

 

__ROL__经过搜索发现是汇编的循环左移指令,那么循环右移就是__ROR__,但这里是__ROL4__,我们不知道是什么,于是就通过调试来找到这个值

 

可以看到EAX中存储的就是函数运行后的结果,0x00700004,再回到check()函数

 

 刷这么多题,for语句里的都知道什么意思了,直接找目标字符串

提取目标字符串并根据程序写脚本

 

 

这里,v4本来等于0x00700004的,我的理解是:因为目标字符里面都是两位的,其实v4也应该保留两位,不然就行不通。

 

得到flag{R_y0u_H0t_3n0ugH_t0_1gn1t3@flare-on.com}

后面的乱码不知道怎么回事

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值