首页
社区
课程
招聘
[原创]看雪·2026 KCTF 第二题:巳时·绿光幽语 Writeup
发表于: 2026-8-11 13:15 24

[原创]看雪·2026 KCTF 第二题:巳时·绿光幽语 Writeup

2026-8-11 13:15
24

题目信息:

  文件:题目.exe

  类型:PyInstaller 打包的 Python 程序

  要求:输入6个字符的key,还原被加密的代码


解题过程:


一、提取 PyInstaller 打包文件


使用 pyinstxtractor-ng 提取题目.exe,得到以下关键文件:

  - main.pyc:入口脚本(仅 import sys; sys.exit(0),是空壳)

  - PYZ.pyz:Python 模块压缩包(含所有标准库)

  - python313.dll:Python 运行时 DLL

  - 各种 .pyd 和 .dll 文件


二、分析 main.pyc


使用 xdis 反汇编 main.pyc,发现它只是 import sys 然后 exit(0),没有任何业务逻辑。

真正的代码被隐藏在别处。


三、运行程序观察行为


运行题目.exe,程序循环输出:

  提示,需要还原的代码

  def my_function():

      print("恭喜成功!")

  请输入key还原代码(请输入6个字符)


说明程序需要输入6个字符的key来解密代码。


四、搜索关键字符串


在 python313.dll 中搜索 "my_function" 字符串,在偏移 0x4DACE9 处找到。

这说明出题人修改了 python313.dll,将加密数据嵌入其中。


五、分析加密数据


在 my_function 附近找到8段16字节的加密字符串(TYPE_STRING格式):

  b3dac5b2f1efbae9d9bcc9d5bdf3d4bd

  eacdb0dbcab2cfd1b1eef6b2f5d4585f

  31303375382c0a33203b36213c3a3b7d

  7c6f585f5c25273c3b217d77b3d4f8b0

  c3c9b3ddc5b0dfcabae9d4777c585fbd

  fae2bdebc6b0d0f03e302cbdeacdb0db

  cab1eef6b2f5d4bae9ddbdfae2bdebc6

  b0d0f063b1edffb0f8c2b2f9f3bae9dc


拼接后共128字节。尝试单字节XOR密钥0x55,解密得到:

  提示,需要还原的代码

  def my_function():

      print("恭喜成功!")

  请输入key还原代码(请输入6个字符)


确认加密方式为 XOR 0x55。


六、找到加密字节码


在8段字符串之后,找到一段26字节的加密数据:

  ec626d7563727962367463722a63037563727962367443721e62


这是 my_function 的 co_code(字节码),被XOR 0x55加密。


七、还原密钥


已知目标函数是:

  def my_function():

      print("恭喜成功!")


对应的 Python 3.13 字节码前6字节为:95 00 5b 01 00 00


将加密字节码前6字节与目标字节码前6字节逐字节XOR:

  ec ^ 95 = 79 = 'y'

  62 ^ 00 = 62 = 'b'

  6d ^ 5b = 36 = '6'

  75 ^ 01 = 74 = 't'

  63 ^ 00 = 63 = 'c'

  72 ^ 00 = 72 = 'r'


得到6字节密钥:yb6tcr


八、验证


运行题目.exe,输入 yb6tcr,程序输出"恭喜成功!",验证通过。


答案:

  Key = yb6tcr


技术要点总结:

  1. PyInstaller 打包的 EXE 可通过 pyinstxtractor 提取

  2. 出题人修改了 python313.dll,将加密数据嵌入 DLL 中

  3. 字符串使用单字节 XOR 0x55 加密

  4. 字节码使用 XOR 加密,密钥为6个字符

  5. 通过已知明文(目标函数的字节码)反推密钥



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

最后于 2026-8-12 14:14 被kanxue编辑 ,原因:
收藏
免费 0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回