BUUCTF 逆向题目 不一样的flag
题目地址:
https://buuoj.cn/challenges#%E4%B8%8D%E4%B8%80%E6%A0%B7%E7%9A%84flaghttps://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 10 1 0 0 00 1 0 1 00 0 0 1 01 1 1 1 #
1上,2下,3左,4右
这几行代码告诉我们,不能走到‘1’处,否则退出,并且我们需要走到‘#’处,走到‘#’的方向连起来就是我们的flag
起点在左上角的‘*’处
从*开始,不能走1,到#结束
所以我们的flag为222441144222
flag{222441144222}