Skip to content
Back to skills

Ctf Key Recovery

ASecurity

Reconstruct CTF key, serial, and flag verifiers using known plaintext, repeating XOR, encoded constants, bytecode replacement, hash constraints, SMT, and bounded brute force. Use when a reverse challenge requests a key or serial and the verifier or encrypted target bytes can be recovered statically or dynamically.

  • 271 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 23, 2026
development

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add manyuegong33/r0crawl_skills --skill ctf-key-recovery --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ctf Key Recovery?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ctf Key Recovery
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/manyuegong33-ctf-key-recovery/badge)](https://www.skillsdirectory.com/skills/manyuegong33-ctf-key-recovery)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ctf-key-recovery
description: Reconstruct CTF key, serial, and flag verifiers using known plaintext, repeating XOR, encoded constants, bytecode replacement, hash constraints, SMT, and bounded brute force. Use when a reverse challenge requests a key or serial and the verifier or encrypted target bytes can be recovered statically or dynamically.
---

# CTF Key Recovery

## Reconstruct the exact verifier

Write down input normalization, encoding, required length, transforms, comparison bytes, success condition, and retry behavior. Separate presentation decoding from authentication logic; similar XOR loops may use different keys.

## Use the cheapest invertible relation

For repeating XOR with period `p`:

```text
cipher[i] = plain[i] XOR key[i mod p]
key[i mod p] = cipher[i] XOR plain[i]
```

Recover every key position from known plaintext and reject inconsistent positions. Run `scripts/recover_repeating_xor.py` for a reproducible derivation.

Escalate only as needed:

1. algebraic inversion
2. known-plaintext constraints
3. printable/format constraints
4. SMT solver
5. bounded brute force

See `references/verifier-checklist.md` before declaring success.

## Validate twice

1. Re-encrypt or replay the recovered key against the reconstructed verifier.
2. Run the original challenge through its real input path and observe the success branch.

Record the raw key separately from any platform wrapper such as `flag{...}`.

## Quality gates

- Do not treat a plaintext-looking substring as the answer without verifier parity.
- Do not mix display constants with comparison constants.
- Preserve byte order, signedness, encoding, and terminators.
- Test wrong length, one-byte mutation, and the recovered key.

Files in this skill

  • SKILL.md1.7 KB
  • agents/openai.yaml258 B
  • references/verifier-checklist.md533 B
  • scripts/recover_repeating_xor.py1.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.