Skip to content

Binary Ninja Sidekick

Sidekick is an AI-powered service that takes reverse engineering to the next level. Sidekick augments the Binary Ninja desktop application, providing new capabilities that help users analyze and understand binary programs.

Features

Quick Search and Navigation

  • User-Defined Indexes: Use natural language to describe items in the binary you're looking for and automatically find and display them. (Note: This feature does not fully require Sidekick service access. See below for details.)
  • Code Insight Map: View relationships between items in your indexes to help you discover and understand high-level functionality of the program. (Note: This feature does not fully require Sidekick service access. See below for details.)

Improve Code Clarity

  • Structure Recovery: Recover structure definitions for code, rather than just displaying dereferenced pointers. (Note: This feature does not fully require Sidekick service access. See below for details.)
  • Variable Naming: Receive suggestions for variable names to help you understand the purpose of parameters and variables in functions.
  • Structure and Field Naming: Receive suggestions for structure and field names to improve your understanding of the data structures in your binary.
  • Function Naming: Receive suggestions for function names that summarize what the code does.
  • Function Comment: Receive suggestions for a comment that briefly summarizes a function to quickly understand and documents its purpose.
  • Function Callee Naming: Generate names for all functions called by the current function to focus your analysis and get better names.

Interactive Assistance

  • Assistant: Interact with the Sidekick Assistant through a chat interface to answer your questions about the binary. (Note: This feature does not fully require Sidekick service access. See below for details.)

Program Structure Analysis

  • Component Creation: Identify groups of related functions that correspond to compilation units and arrange them hierarchically, making it easier to understand the binary program's structure.

Documentation

  • Documentation View: Automatically generate editable, man page-like descriptions of functions to help document your progress. (Note: This feature does not fully require Sidekick service access. See below for details. This feature will be deprecated in a future release.)
  • Code Comments: Make sense of cryptic code by inserting a comment that automatically summarizes it
  • Investigations: Launch tailored, automated investigations of the code for pre-defined topics and document findings. (Note: This feature does not fully require Sidekick service access. See below for details.)

With Sidekick, you have access to these new capabilities that streamline the reverse engineering process, enabling you to do it all more quickly and efficiently!

Sidekick Service

Most features within the Sidekick plugin require access to the Sidekick service; however, there are some features that do not and are available to all users. The following table lists the features of Sidekick and their dependency on the Sidekick service:

Feature Sidekick Service Dependency
Indexes Some indexer scripts that we provide require service access to run successfully. However, all users can manually create, add, and run their own indexer scripts without service access.
Code Insight Map Does not require service access
Structure Recovery Does not require service access. However, function components must be manually created for this feature to work without service access.
Component Creation Requires service access
Variable Naming Requires service access
Structure/Field Naming Requires service access
Function Naming Requires service access
Code Selection Comments Requires service access
Function Comments Requires service access
Documentation View Automatic documentation generation requires service access. Manual generation does not require service access.
Assistant Sending messages and automatic naming of page titles require service access. Recording notes does not require service access.
Investigations Automatic generation of investigation findings on pre-defined topics requires service access. Manual generation of findings does not require service access.