1、题目
2、工具
- Exeinfo PE:查壳工具。
- IDA:是一款功能强大的反汇编工具,用于分析和逆向工程二进制文件。
3、方法
- 下载压缩包,解压得到一个.exe执行文件。
- 打开文件,要求输入。尝试输入1,自动退出。
-
-
- 输入2,又要求输入。
- 用Exeinfo PE查询该文件是否加了壳。
- 发现这是一个32位的文件,并且没有壳。
- 使用32位的IDA将其打开。找到main函数,双击,按F5进行反汇编。
- 把ASCII转换为字符,选中+R。
- 这段代码的意思是,如果遇到v3中的1,则异常退出exit(1);如果遇到v3中的#,则输入的序列就是flag,并正常退出exit(0)。v3如下:
- 又因为v3的地址乘了5,所以v3应该被分为了一行5个字符。即:
-
*1111 01000 01010 00010 1111#
-
- 这样再看的话,就很明显了。就是*到#,中途不能碰到1。
- 路径为:下下下右右上上右右下下下。根据上下左右的数字,就能得到flag为:222441144222。