1、题目
2、工具
- Exeinfo PE:查壳工具。
- IDA:是一款功能强大的反汇编工具,用于分析和逆向工程二进制文件。
3、方法
- 下载压缩包并解压,得到一个没有后缀的文件。
- 先用Exeinfo PE查询该文件是否加了壳。
- 可以看出,该文件是一个64位的ELF文件,并且没有加壳。
- 【注】ELF的全称是 Executable and Linking Format,即“可执行可连接格式”,被86open项目选为x86架构上的类Unix操作系统的二进制文件标准格式。Linux上可以运行,windows不可以。
- 使用64位的IDA将其打开。找到main函数,选中,按F5进行反汇编。
- 先将其中的ASCII值转换为字符。选中ASCII值,右键转换为char字符。
- 转换结果:
- 可以看出这段代码的意思是,将flag中的 i 和 r 转换为1。
- 转换结果:
- 然后将我们输入的s2和转换后的flag比较,相等则输出"this is the right flag!"。所以转换后的flag即为真正的flag。
- 查看原来flag的值,双击flag。
- 暂时看不出flag是什么。
- 选中下面区域,按a,将其转换为字符串。
- 也可以按 r,把7Bh转换为字符。
- 也可以按 r,把7Bh转换为字符。
- 得到原flag值为:{hacking_for_fun}
- 将其中的 i 和 r 转换为1。所以真正的flag为:{hack1ng_fo1_fun}。