攻防世界 REVERSE 新手区/game

下载得到附件
看题目说一共有8个围成一圈的灯,需要输入1-8个数,输入的数会让相应的数字的灯改变状态(亮或灭),且该灯的前一个灯和后一个灯也会改变状态。输入0会让所有的灯都灭掉,当8个灯都亮起时flag就会出现。


这里可以直接按顺序输入1-8个数直接得到flag
另一个方法就比较麻烦一点了,用IDA32位打开程序
先找下main函数

找到后按下f5进行反汇编

跟进main0 继续跳转

看到一个if语句,以及判断的条件推测这就是得到flag的条件(用1和0来判断8个灯的亮灭)

当8个灯都亮的时候就输出flag,这里跟进sub_457AB4()

继续跳转,看到提示,flag就在这里

根据算法写出脚本

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a


900

被折叠的 条评论
为什么被折叠?



