BUUCTF 逆向题目 不一样的flag
题目地址:
https://buuoj.cn/challenges#%E4%B8%8D%E4%B8%80%E6%A0%B7%E7%9A%84flag
https://files.buuoj.cn/files/91b89e765c9aff8e82690c0868975b37/0bf39b5d-5f2f-4095-a921-fb5c20f53f21.zip
首先,查壳
信息:
文件名: H://BUUCTF/不一样的flag/不一样的flag.exe
大小: 29568(28.88 KiB)
操作系统: Windows(95)
架构: I386
模式: 32 位
类型: 控制台
字节序: LE
使用IDA32打开
F5
for ( i = 0; i <= 1; ++i )
{
if ( *(_DWORD *)&v3[4 * i + 25] >= 5u )
exit(1);
}
if ( v7[5 * *(_DWORD *)&v3[25] - 41 + v4] == '1' )
exit(1);
if ( v7[5 * *(_DWORD *)&v3[25] - 41 + v4] == '#' )
{
puts("\nok, the order you enter is the flag!");
exit(0);
}
分析代码,走迷宫题目,迷宫如下图
* 1 1 1 1
0 1 0 0 0
0 1 0 1 0
0 0 0 1 0
1 1 1 1 #
1上,2下,3左,4右
这几行代码告诉我们,不能走到‘1’处,否则退出,并且我们需要走到‘#’处,走到‘#’的方向连起来就是我们的flag
起点在左上角的‘*’处
从*开始,不能走1,到#结束
所以我们的flag为222441144222
flag{222441144222}