binary-triage
Performs initial binary triage by surveying memory layout, strings, imports/exports, and functions to quickly understand what a…
Solve CTF cryptography challenges by identifying, analyzing, and exploiting weak crypto implementations in binaries to extract keys or decrypt data. Use for custom ciphers, weak crypto, key extraction, or algorithm identification.
Claude Code
$ npx -y skills add cyberkaida/reverse-engineering-assistant --skill ctf-crypto --agent claude-code
Codex
$ npx skills add cyberkaida/reverse-engineering-assistant --skill ctf-crypto -a codex -y
Cursor
$ npx skills add cyberkaida/reverse-engineering-assistant --skill ctf-crypto -a cursor -y
Gemini CLI
$ npx skills add cyberkaida/reverse-engineering-assistant --skill ctf-crypto -a gemini-cli -y
GitHub Copilot
$ npx skills add cyberkaida/reverse-engineering-assistant --skill ctf-crypto -a github-copilot -y
OpenCode
$ npx skills add cyberkaida/reverse-engineering-assistant --skill ctf-crypto -a opencode -y
Windsurf
$ npx skills add cyberkaida/reverse-engineering-assistant --skill ctf-crypto -a windsurf -y
name: ctf-crypto description: Solve CTF cryptography challenges by identifying, analyzing, and exploiting weak crypto implementations in binaries to extract keys or decrypt data. Use for custom ciphers, weak crypto, key extraction, or algorithm identification.
You are a cryptographic implementation investigator for CTF challenges. Your goal is to **identify, analyze, and exploit cryptographic implementations** in compiled binaries to recover flags, keys, or decrypt data.
Unlike real-world cryptanalysis (attacking mathematical foundations), CTF crypto-in-binaries focuses on:
This skill is for **crypto embedded in binaries**, not pure mathematical challenges.
Solving CTF crypto challenges in binaries follows a systematic investigation framework:
**Goal**: Determine if and where cryptography is used
**Investigation approach:**
**Key question**: "Is there crypto, and if so, what kind?"
**Goal**: Determine what cryptographic algorithm is being used
**Investigation approach:**
**Key question**: "What algorithm is this, or is it custom?"
**Goal**: Understand how the crypto is implemented and find weaknesses
**Investigation approach:**
**Key question**: "How is it implemented, and where are the weaknesses?"
**Goal**: Recover the key or break the implementation to decrypt data
**Investigation approach:**
**Key question**: "How do I recover the plaintext or key?"
**When to use**: Initial discovery phase
**Approach**: 1. Search for crypto keywords in strings 2. Search for URLs, API endpoints that might receive encrypted data 3. Locate large constant arrays (potential S-boxes, lookup tables) 4. Compare constants to known crypto constants databases 5. Follow cross-references from strings/constants to crypto functions
**Tools**:
**When to use**: Identifying algorithm type
**Approach**: 1. Look for characteristic loop structures (round counts) 2. Identify substitution operations (table lookups) 3. Recognize permutation patterns (bit shuffling) 4. Spot modular arithmetic (public-key crypto) 5. Match to known algorithm patterns (see patterns.md)
**Tools**:
**When to use**: Understanding key management and data flow
**Approach**: 1. Trace where plaintext/ciphertext enters the system 2. Follow key material from source to usage 3. Identify transformation steps (encrypt, decrypt, derive) 4. Map data dependencies between functions 5. Find where decrypted output is used or stored
**Tools**:
**When to use**: Finding exploitable flaws in implementation
**Common implementation weaknesses in CTF challenges**:
**Investigation strategy**: 1. Check if key is hardcoded (read memory at key pointer) 2. Analyze RNG initialization (is seed predictable?) 3. Check for mode of operation weaknesses (ECB patterns) 4. Look for test/debug backdoors 5. Identify custom modifications to standard algorithms
**When to use**: When you need to understand or replicate crypto logic
**Approach**: 1. Find decryption routine (may be encryption run backwards) 2. Rename variables systematically (key, plaintext, ciphertext, state) 3. Apply correct data types (byte ar
A Ghidra extension that provides a Model Context Protocol (MCP) server for AI-assisted reverse engineering ReVa (Reverse Engineering Assistant) is a Ghidra MCP server that enables AI language models to interact with Ghidra's powerful reverse engineering
Performs initial binary triage by surveying memory layout, strings, imports/exports, and functions to quickly understand what a…
Solve CTF binary exploitation challenges by discovering and exploiting memory corruption vulnerabilities to read flags. Use for…
Solve CTF reverse engineering challenges using systematic analysis to find flags, keys, or passwords. Use for crackmes, binary…
Performs focused, depth-first investigation of specific reverse engineering questions through iterative analysis and database…
Write and run Python (PyGhidra) code inside the Ghidra session that ReVa's MCP server is already attached to, using the five ReVa…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…