Binary Ninja MCP provides a bridge between the Binary Ninja reverse engineering platform and large language models through a HTTP server that exposes binary analysis capabilities. The plugin enables users to perform tasks like listing functions, decompiling code, renaming symbols, and analyzing binary structures directly through LLM interfaces. Built with Python 3.12, it features a modular architecture with separate components for binary operations, API endpoints, and server management. The implementation is particularly optimized for Claude Desktop integration, allowing reverse engineers to leverage AI assistance for complex binary analysis workflows without leaving their development environment.
Nessuna recensione ancora. Sii il primo a recensire!
Accedi per unirti alla conversazione
Decompile a specific function by name and return HLIL-like code with addresses.
Get IL for a function in 'hlil', 'mlil', or 'llil' (SSA supported for MLIL/LLIL).
Add type definitions from a C string type definition.
Delete the comment at a specific address.
Delete the comment for a function.
Create/update a local type from a single C declaration.
Convert a value and annotate it at an address in BN (adds a comment).
Retrieve the name of the function the address belongs to.
Get the assembly representation of a function by name or address.
List entry point(s) of the loaded binary.
Get the current status of the loaded binary.
Get the comment at a specific address.
Get the comment for a function.
Retrieve definition of a user-defined type (struct, enumeration, typedef, union).
Get all cross references (code and data) to an address.
Return a C-like declaration and a hexdump for a data symbol or address.
Text hexdump at address.
Hexdump by data symbol name or address.
Get usages related to an enum (matches member constants in code).
Get all cross references to a named struct field.
Get xrefs/usages related to a struct (members, globals, code refs).
Get xrefs/usages related to a struct/type (globals, refs, HLIL matches).
Get xrefs/usages related to a union (members, globals, code refs).
Get stack frame variable information for a function (names, offsets, sizes, types).
Resolve a type and return declaration, kind, and members.
Create a function at an address.
List all available platform names.
List managed/open binaries with ids and active flag.
Select active binary by id or filename.
List all strings (no pagination; aggregates all pages).
List all namespace/class names in the program.
List defined data labels and their values.
List exported functions/symbols.
List imported symbols in the program.
List local Types in the current database (name/kind/decl).
List all function names in the program.
List all non-global namespaces in the program.
List all memory segments in the program.
List all strings in the database (paginated).
List matching strings (paginated, filtered by substring).
Rename a data label at the specified address.
Rename a function by its current name to a new user-defined name.
Rename a single local variable inside a function.
Batch rename multiple local variables in a function (mapping or pairs).
Set a local variable's type.
Retype variable inside a given function.
Search for functions whose name contains the given substring.
Search local Types by substring (name/decl).
Set a comment at a specific address.
Set a comment for a function.
Set a function's prototype by name or address.
Patch raw bytes at an address (byte-level, not assembly).