-
-
KCTF 2026题目提交
-
发表于: 2026-8-5 10:59 65
-
战队名称:天外星系
战队创建者:geekfire
题目名称:AntiAi
运行环境:windows
输出提示:答案正确则输出提示ok
题目设计思路
AntiAi 是一题 Windows 本地逆向题。它把 26 字节输入校验置于自定义 VM 中,以加密字节码、状态相关控制流、动态分派、完整诱饵路径和运行时完整性检查,避免选手仅凭字符串检索、单点比较或修改一个条件跳转完成题目。
AntiAi 的关键设计是“四世界执行记录承诺”(four-world transcript commitment):
- 每个候选输入均执行 4 条物理打包入口:1 条真实世界和 3 条完整诱饵世界。
- 每个世界拥有独立而自洽的状态、路由、流值、终止 PC 和 8 字摘要。孤立地跟踪诱饵时,它会表现为可信的本地有效轨迹。
- 最终成功不取决于任一世界的局部 `bad` 值,而是把四条完整 trace(包含累计故障/失配字)混合成 4 个承诺 DWORD,并与加密目标比较。
- 因而强制进入诱饵入口、跳过局部比较、篡改一段 VM 密文或在调试中造成迟到故障,都无法得到真实输入的全局承诺。
预期解法是还原解释器、解密并理解路径/状态依赖,然后重建约束恢复真实输入。
stdin
│ 读取、零初始化、去掉最多一个行结束符
▼
原始输入 ─► 26 字节规范化 ─► 8 轮扩散 ─► 32 字节 VM 值与 12 位 tag
│ │
│ └► 派生世界运行顺序
▼
VM 密文 seal + 当前 PE 的 .text seal
│
├─► 世界 0:入口解封 → VM 解释 → 本地 trace
├─► 世界 1:入口解封 → VM 解释 → 本地 trace
├─► 世界 2:入口解封 → VM 解释 → 本地 trace
└─► 世界 3:入口解封 → VM 解释 → 本地 trace
│
▼
state / flow / route / PC / 步数 / digest / fault
│
▼
4 个 trace 混合为 4 字跨世界承诺
│
原始长度失配在此阶段并入
▼
比对加密目标并输出响应字
正确答案为:
flag{v4_opaque_trace_2026}
冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。
赞赏
- [推荐]第二题:巳时·绿光幽语 WP 1284
- KCTF 2026题目提交 64
- KCTF2025题目提交- 第七题 危局初现 设计思路 3710
- [推荐]KCTF2024题目提交 1709
- KCTF2023 第六题设计思路 5721