memory-trace
- •
Attribution
- •
Solved by Muhammad Dhafin Ramadhan during the competition. These are rn’s study notes based on the teammate’s documented solve, not an independent rn solve.
- •
- •
What it asked
- •
Triage memory strings, reject decoys, and use the recorded XOR mode, key, and ciphertext to recover the real flag.
- •
- •
- •
Solution
- •
import re ct = bytes.fromhex( "1b031c0063743a2f35233a2254132030242733314e38321d332f3b0f5f293727" "31220a3b4835323f" ) key = b"PNUP-LAB" pt = bytes(b ^ key[i % len(key)] for i, b in enumerate(ct)).decode() assert re.fullmatch(r"KMIPN8\{[^}\r\n]+}", pt) print(pt)
- •
- •
Verification
- •
The supplied ciphertext decrypts locally to the recorded flag and passes the syntax check.
- •
- •
Concepts
- •
Memory-string triage; decoy handling; repeated-key XOR; plaintext validation.
- •
- •