-
-
[原创] KCTF 2026 第二题:巳时·绿光幽语 WP
-
发表于: 1天前 84
-
题目给的是 PyInstaller 打包程序。解包后发现入口 main.pyc 逻辑很简单:
import sys
sys.exit(0)
说明真正逻辑不在常规入口中 需要继续检查其他文件
继续搜索字符串和 frozen 模块 发现关键逻辑被藏在 python313.dll 中的 frozen os 模块里
程序主要流程如下
- 使用
xor 0x55解密并打印提示信息 - 要求输入 6 个字符的 key
- 使用该 key 循环异或两段密文
- 还原
my_function.__code__.co_code和my_function.__code__.co_consts - 如果还原成功 则执行目标函数
题目提示需要还原的代码为
def my_function():
print("恭喜成功!")
因此可以用目标函数的字节码反推 key
反推脚本
cipher = b'\xecbmucryb6tcr*c\x03ucryb6tCr\x1eb'
target = b'\x95\x00[\x01\x00\x00\x00\x00\x00\x00\x00\x00S\x015\x01\x00\x00\x00\x00\x00\x00 \x00g\x00'
key_stream = bytes(cipher[i] ^ target[i] for i in range(len(target)))
print(key_stream)
输出结果为
b'yb6tcryb6tcryb6tcryb6tcryb'
key 长度为 6 因此得到flag
yb6tcr
最后于 1天前
被kanxue编辑
,原因:
赞赏
赞赏
雪币:
留言: