XCTF-RE-gametime-游戏题

CTF · 03-21 · 279 人浏览

一、查看文件类型

Pasted image 20231207143532.png
PE32无壳
尝试运行
Pasted image 20231207143558.png
Pasted image 20231207143609.png
发现是游戏题,倒数10s后根据提示输入正确的按键,程序会输出新的内容,若没有及时输入相应按键或按错键,程序退出
Pasted image 20231207150357.png
刚开始是练习部分

再次倒数10s后进入真正的游戏部分
Pasted image 20231207150248.png
依次键入空格、x、m、m、x、s后,跳出提示,相当于通过了第一关,游戏继续
多次运行后发现,后续的关卡,需要输入的键位每次都不相同,猜测程序在第二关使用了随机数,完成游戏后得到提示
Pasted image 20231207151256.png
得到flag为:no5c30416d6cf52638460377995c6a8cf5

那么解题思路即为将按键输入的判断条件更改,改为即使输入的是错误的按键或不输入,程序也能继续运行。

通过IDA找到条件判断的地址或直接通过x32dbg动态调试

二、IDA静态分析

Pasted image 20231207153138.png
打开字符串窗口,找到两个错误提示
Pasted image 20231207153221.png
分别通过交叉引用跟进
发现第一个错误提示的调用函数如下,看起来像程序前半的教学部分
Pasted image 20231207153301.png
第二个错误提示的调用函数如下:
Pasted image 20231207153500.png
分别查看其汇编代码
Pasted image 20231207153606.png
将其中的jnz改为jz或je即可

三、x32dbg动态调试

搜索字符串
Pasted image 20231207153815.png
找到错误提示并跟进
分别将两处的jne跳转改为je
Pasted image 20231207153921.png
Pasted image 20231207154000.png

按F9运行即可
Pasted image 20231207154145.png
待程序运行一段时间后,得到flag为:
no5c30416d6cf52638460377995c6a8cf5

Pasted image 20231207154521.png
点击修补文件即可导出

动态调试 CTF RE XCTF 游戏题 x32dbg
Theme Jasmine by Kent Liao