BUUCTF——Reverse——不一样的flag

1、题目

  • BUUCTF——Reverse——不一样的flag_第1张图片

2、工具

  • Exeinfo PE:查壳工具。
  • IDA:是一款功能强大的反汇编工具,用于分析和逆向工程二进制文件。

3、方法

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

你可能感兴趣的:(网络安全,网络安全)