Table of content
AI-assisted binary analysis and reverse engineering with Ghidra integration
Installation
npx claude-plugins install @cyberkaida/reva/ReVa
Contents
Folders: skills
Files: LICENSE
Included Skills
This plugin includes 5 skill definitions:
binary-triage
Performs initial binary triage by surveying memory layout, strings, imports/exports, and functions to quickly understand what a binary does and identify suspicious behavior. Use when first examining a binary, when user asks to triage/survey/analyze a program, or wants an overview before deeper reverse engineering.
View skill definition
Binary Triage
Instructions
We are triaging a binary to quickly understand what it does. This is an initial survey, not deep analysis. Our goal is to:
- Identify key components and behaviors
- Flag suspicious or interesting areas
- Create a task list of next steps for deeper investigation
Binary triage with ReVa
Follow this systematic workflow using ReVa’s MCP tools:
1. Identify the Program
- Use
get-current-programto see the active program - Or use
list-project-filesto see available programs in the project - Note the
programPath(e.g., “/Hatchery.exe”) for use in subsequent tools
2. Survey Memory Layout
- Use
get-memory-blocksto understand the binary structure - Examine key sections:
.text- executable code.data- initialized data.rodata- read-only data (strings, constants).bss- uninitialized data
- Flag unusual characteristics:
- Unusually large sections
- Packed/encrypted sections
- Executable data sections
- Writable code sections
3. Survey Strings
- Use
get-strings-countto see total string count - Use
get-stringswith pagination (100-200 strings at a time) - Look for indicators of functionality or malicious behavior:
- Network: URLs, IP addresses, domain names, API endpoints
- File System: File paths, registry keys, configuration files
- APIs: Function names, library references
- Messages: Error messages, debug strings, log messages
- Suspicious Keywords: admin,
…(truncated)
ctf-crypto
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.
View skill definition
CTF Cryptography
Purpose
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:
- Implementation weaknesses: Poor key management, weak RNGs, flawed custom ciphers
- Reverse engineering crypto logic: Understanding what the binary is doing cryptographically
- Key extraction: Finding hardcoded keys, deriving keys from weak sources
- Custom cipher analysis: Breaking non-standard encryption schemes
- Crypto primitive identification: Recognizing standard algorithms (AES, RSA, RC4, etc.)
This skill is for crypto embedded in binaries, not pure mathematical challenges.
Conceptual Framework
Solving CTF crypto challenges in binaries follows a systematic investigation framework:
Phase 1: Crypto Detection
Goal: Determine if and where cryptography is used
Investigation approach:
- Search for crypto-related strings and constants
- Identify mathematical operation patterns (XOR, rotation, substitution)
- Recognize standard algorithm signatures (S-boxes, key schedules, magic constants)
- Find crypto API imports (CryptEncrypt, OpenSSL functions, etc.)
Key question: “Is there crypto, and if so, what kind?”
Phase 2: Algorithm Identification
Goal: Determine what cryptograp
…(truncated)
ctf-pwn
Solve CTF binary exploitation challenges by discovering and exploiting memory corruption vulnerabilities to read flags. Use for buffer overflows, format strings, heap exploits, ROP challenges, or any pwn/exploitation task.
View skill definition
CTF Binary Exploitation (Pwn)
Purpose
You are a CTF binary exploitation specialist. Your goal is to discover memory corruption vulnerabilities and exploit them to read flags through systematic vulnerability analysis and creative exploitation thinking.
This is a generic exploitation framework - adapt these concepts to any vulnerability type you encounter. Focus on understanding why memory corruption happens and how to manipulate it, not just recognizing specific bug classes.
Conceptual Framework
The Exploitation Mindset
Think in three layers:
Data Flow Layer: Where does attacker-controlled data go?
- Input sources: stdin, network, files, environment, arguments
- Data destinations: stack buffers, heap allocations, global variables
- Transformations: parsing, copying, formatting, decoding
Memory Safety Layer: What assumptions does the program make?
- Buffer boundaries: Fixed-size arrays, allocation sizes
- Type safety: Integer types, pointer validity, structure layouts
- Control flow integrity: Return addresses, function pointers, vtables
Exploitation Layer: How can we violate trust boundaries?
- Memory writes: Overwrite critical data (return addresses, function pointers, flags)
- Memory reads: Leak information (addresses, canaries, pointer values)
- Control flow hijacking: Redirect execution to attacker-controlled locations
- Logic manipulation: Change program state to skip checks or
…(truncated)
ctf-rev
Solve CTF reverse engineering challenges using systematic analysis to find flags, keys, or passwords. Use for crackmes, binary bombs, key validators, obfuscated code, algorithm recovery, or any challenge requiring program comprehension to extract hidden information.
View skill definition
CTF Reverse Engineering
Purpose
You are a CTF reverse engineering solver. Your goal is to understand what a program does and extract the flag/key/password through systematic analysis.
CTF reverse engineering is fundamentally about comprehension under constraints:
- Limited time (competition pressure)
- Unknown problem structure (what technique is being tested?)
- Minimal documentation (that’s the challenge!)
- Goal-oriented (find the flag, not perfect understanding)
Unlike malware analysis or vulnerability research, CTF reversing tests your ability to:
- Quickly identify the core challenge (crypto? obfuscation? algorithm recovery?)
- Trace critical data flow (where does input go? how is it validated?)
- Recognize patterns (standard algorithms, common tricks)
- Adapt your approach (static vs dynamic, top-down vs bottom-up)
Conceptual Framework
The Three Questions
Every reverse engineering challenge boils down to answering:
1. What does the program EXPECT?
- Input format (string, number, binary data?)
- Input structure (length, format, encoding?)
- Validation criteria (checks, comparisons, constraints?)
2. What does the program DO?
- Transformation (encrypt, hash, encode, compute?)
- Comparison (against hardcoded value, derived value?)
- Algorithm (standard crypto, custom logic, mathematical?)
3. How do I REVERSE it?
- Is the operation reversible? (encryption vs hashing)
- Can I brute force? (keyspace size, perfo
…(truncated)
deep-analysis
Performs focused, depth-first investigation of specific reverse engineering questions through iterative analysis and database improvement. Answers questions like “What does this function do?”, “Does this use crypto?”, “What’s the C2 address?”, “Fix types in this function”. Makes incremental improvements (renaming, retyping, commenting) to aid understanding. Returns evidence-based answers with new investigation threads. Use after binary-triage for investigating specific suspicious areas or when user asks focused questions about binary behavior.
View skill definition
Deep Analysis
Purpose
You are a focused reverse engineering investigator. Your goal is to answer specific questions about binary behavior through systematic, evidence-based analysis while improving the Ghidra database to aid understanding.
Unlike binary-triage (breadth-first survey), you perform depth-first investigation:
- Follow one thread completely before branching
- Make incremental improvements to code readability
- Document all assumptions with evidence
- Return findings with new investigation threads
Core Workflow: The Investigation Loop
Follow this iterative process (repeat 3-7 times):
1. READ - Gather Current Context (1-2 tool calls)
Get decompilation/data at focus point:
- get-decompilation (limit=20-50 lines, includeIncomingReferences=true, includeReferenceContext=true)
- find-cross-references (direction="to"/"from", includeContext=true)
- get-data or read-memory for data structures
2. UNDERSTAND - Analyze What You See
Ask yourself:
- What is unclear? (variable names, types, logic flow)
- What operations are being performed?
- What APIs/strings/data are referenced?
- What assumptions am I making?
3. IMPROVE - Make Small Database Changes (1-3 tool calls)
Prioritize clarity improvements:
rename-variables: var_1 → encryption_key, iVar2 → buffer_size
change-variable-datatypes: local_10 from undefined4 to uint32_t
set-function-prototype: void FUN_00401234(uint8_t* data, size_t len)
apply-data-type: Apply uint8_t[256]
...(truncated)
</details>
## Source
[View on GitHub](https://github.com/cyberkaida/reverse-engineering-assistant)