BUUOJ-[BIFCTF2020]-easy

拿到一份exe可执行程序,按照下面步骤进行解题

1. 分析文件是否加壳等

将文件扔进exeinfope,发现为32位无壳的exe文件
https://ae01.alicdn.com/kf/Uaf68ad7a08b04919b35674d2274b19bbq.jpg

2. 使用IDA进行分析

  • 查看字符串窗口是否有敏感字符串 [Shift + F12],但是除了can you find me? 以外也没有什么其他发现
    https://i.loli.net/2021/02/23/L5WEguNMcY7JKa3.png

  • 执行该程序,也没有用户输入的部分,输出也没有有用的信息。它在自娱自乐呀!

  • 查看左侧所有函数,发现有一个函数名或许有点意思?
    https://i.loli.net/2021/02/23/B9iazCZFOb3f6NG.png

  • 去看看 _ques 函数
    https://i.loli.net/2021/02/23/c769JhaVvKEUOrt.png
    在这里发现了比较有意思的输出,42 代表 *32代表*,而这里是一个 5*50 的循环,我第一时间想到的这玩意是不是一个迷宫?可是主程序执行的时候并没有执行该函数,所以我门需要使用IDA动态调试修改EIP指针,让其强制执行该函数,看看其输出到底是什么。如何使用IDA动态调试修改EIP指针请看我上一篇文章 IDA动态调试

  • 使用IDA动态调试执行 _ques 函数

  • 将EIP修改为0x401520
  • _ques 退出前打上断点,我打的位置是0x401720
  • 按 F9 开始执行,查看输出

https://i.loli.net/2021/02/23/auWP8SRvqLmth4o.png
得到flag: flag{HACKIT4FUN}

参考:

posted @ 2021-02-23 16:22  bunner  阅读(85)  评论(0编辑  收藏  举报