首页
社区
课程
招聘
[原创]KCTF2026第二题解析
发表于: 2026-8-21 13:29 53

[原创]KCTF2026第二题解析

2026-8-21 13:29
53

题型
Reverse(PyInstaller 嵌码 / 字节码还原)

题目在干什么
运行后提示:还原代码,输入 6 字符 key。正确则输出「恭喜成功!」。

表面上 main.pyc 只有 sys.exit(0),真逻辑藏在 python313.dll 里被改过的 <frozen os>:import os 时执行校验。

解题步骤
解包
PyInstaller 3.13 onefile → 抽出 python313.dll。

定位
在 DLL 中搜 my_function,于偏移附近 marshal.loads 得到被植入的 os 模块 code object。

还原逻辑(等价)
展示串:8×16 字节 blob,XOR 0x55 后按 UTF-8 解码 → 提示文案。
key = input(),长度必须为 6。
密文字节码 c(26 字节)与校验串 succ(15 字节):
buf[i] = c[i] XOR key[i % 6]

 msg[i]  = succ[i] XOR key[i % 6]

用 buf 替换 my_function.code.co_code,再调用;msg 应为 UTF-8 的「恭喜成功!」。
求 key
succ XOR UTF-8("恭喜成功!") 周期为 6,得:

yb6tcr

验证
向 exe 输入 yb6tcr → 打印「恭喜成功!」,进程正常退出。

Flag / 答案
yb6tcr


冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

最后于 2026-8-21 21:07 被kanxue编辑 ,原因:
收藏
点赞 ・1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回