欢迎光临
我们一直在努力

攻防世界-clemency

1. 题目信息

  • 压缩包:z:\\Desktop\\9da1ceedc0904352bf19a645844317b0.zip

  • 解压后核心文件:

    • clemency.bin

    • flag.enc

2. 结论(Flag)

flag{I_love_cLEMENCy,so_I_want_to_share_it_with_you}

3. 解题思路

这题不是常规文本加密,而是 cLEMENCy 的 9-bit 数据格式。

flag.enc 里存的是按 8-bit 字节打包后的数据流,需要按 cLEMENCy 的规则还原为 9-bit nyte:

  • 每次从字节流累积 bit;

  • 每够 9 bit 取出一个 nyte;

  • 再把可打印 nyte 按 ASCII 显示。

按这个方式解析后,开头直接得到完整 flag{…}。

4. 复现脚本(Python)

from pathlib import Path

b = Path("flag.enc").read_bytes()
out = []
bits = 0
cur = 0

for x in b:
   cur = (cur << 8) | x
   bits += 8
   while bits >= 9:
       bits -= 9
       out.append((cur >> bits) & 0x1FF)
   cur &= (1 << bits) – 1

text = "".join(chr(v) if 32 <= v < 127 or v in (10, 13, 9) else "." for v in out)
print(text[:200])

5. 本地验证结果

运行后输出前缀为:

flag{I_love_cLEMENCy,so_I_want_to_share_it_with_you}

首个 0 nyte 出现在索引 53,与 flag 长度(含换行)一致,说明解析正确。

赞(0)
未经允许不得转载:171主机测评 » 攻防世界-clemency
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址