根据题目我们知道这是一个游戏。
1.首先这是一个exe文件,下载后打开
发现这是一个依次输入数字然后点亮所有的符号,得到flag的游戏,然后我们就用Exeinfo PE打开
发现是一个c++编写的32位程序,然后就用ida32打开
这时我们进来发现无法直接找到main函数, 因此按Alt+T搜索main就能找到,然后F5查看伪代码。
继续跟进main_0函数,跟进之后我们会看到下边这些代码。
这些代码是判断输入的数字是否在要求范围内,否则重新输入,然后根据输入的数字,改变字符然后我们继续跟进 sub_4576D6 函数查看一下改变符号的代码,经过两次跳转后就看到了如下代码
查看完毕之后我们返回main函数
最后这些代码就是判断每个字符都为1,即都被点亮,
然后执行sub_457Ab4函数,我们猜测这里就是得到flag 的代码,就继续跟进sub_457Ab4
两次跳转后我们会发现
因此我们猜测这串代码下边就是flag的代码
这个for循环中我们会发现它是对v2和v59进行运算,然后我们用spyder编写Python得到falg。
运行之后我们得到flag