【CTF对抗-KCTF2024第2题分析,利用ChatGpt获取逆向信息】此文章归类为:CTF对抗。
CTF 挑战题解析:结合数独和迷宫的多阶段解题过程
参与者需要解决一个涉及数独填充和迷宫导航的复杂问题,最终目标是构造一个符合特定格式的“flag”字符串。这个挑战不仅测试了编程技能,还考验了逻辑思维和解决问题的能力。以下是对题目结构和解题步骤的详细分析。
题目概述
挑战代码要求用户输入一个长度为70字节的字符串,格式为flag{...}。这个字符串被分为两部分处理:
- 前56个字节用于填充一个9x9的数独。
后8个字节表示一个迷宫中的移动指令。
1、net逆向
拖入dnSpf定位到main函数

反汇编代码很长,利用一下万能的GPT,获取到有效信息:前56位字节是数独,后8位是迷宫
-------------------------

-------------------------
-------------------------

3、数独解析
接下来提取出来内存里的数独原始数组
数独部分要求填充一个标准的9x9格局。题目提供了一部分预填充的数字,剩余的部分需要由参赛者计算得出。具体的数独如下:
xx xx 02 xx xx 07 xx xx xx
xx 06 xx 09 xx xx 04 xx xx
xx 09 xx 02 05 xx xx xx 03
xx xx xx 04 xx xx 01 xx xx
07 03 xx xx 06 xx xx xx xx
xx xx 09 05 03 xx xx 06 xx
xx xx 06 03 04 xx xx 07 xx
08 xx xx xx xx xx xx xx 09
xx xx xx xx xx xx xx 05 xx
根据数独的规则,每行、每列以及每个3x3的子网格中的数字必须从1到9且不重复。解题者需要利用逻辑推理填满整个网格。

这里直接使用网页在线求解,得到答案:34689155813271746868579324125982187492581517263447389126
4、迷宫解析
迷宫部分提供了一个字符矩阵,代表迷宫的布局,和8个字符的移动序列(WASD代表上下左右)。迷宫布局如下:
! - ? +
+ + - +
- + + +
+ - - +
这里的目标是按照提供的指令在迷宫中移动,验证路径的可行性,并且最终达到特定的终点。例如,字符“?”可能表示目标或特殊点。
迷宫路径为:SDSDDWWA
拼接Flag得到答案:
flag{34689155813271746868579324125982187492581517263447389126SDSDDWWA}
更多【CTF对抗-KCTF2024第2题分析,利用ChatGpt获取逆向信息】相关视频教程:www.yxfzedu.com