MCPcopy Create free account
hub / github.com/avast/retdec-idaplugin

github.com/avast/retdec-idaplugin @v1.0-ida80

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0-ida80 ↗ · + Follow
107 symbols 212 edges 17 files 12 documented · 11% updated 17mo agov1.0-ida80 · 2022-08-30★ 79914 open issues

Browse by type

Functions 92 Types & classes 15
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

RetDec IDA plugin

RetDec plugin for IDA (Interactive Disassembler).

The plugin is compatible with the IDA 7.5+ versions. The plugin does NOT work with IDA 6.x, IDA 7.0-7.4, or freeware version of IDA 7.0. The plugin comes at both 32-bit and 64-bit address space variants (both are 64-bit binaries). I.e. it works in both ida and ida64. At the moment, it can decompile the following architectures: * 32-bit: x86, arm, mips, and powerpc. * 64-bit: x86-64, arm64.

Installation and Use

Currently, we officially support only Windows and Linux. It may be possible to build macOS version from the sources, but since we do not own a macOS version of IDA, we cannot create a pre-built package, or continually make sure the macOS build is not broken.

  1. Either download and unpack a pre-built package from the latest release, or build and install the RetDec IDA plugin by yourself (the process is described below).
  2. Follow the user guide (user_guide.pdf) that is part of the downloaded package, or use the current version from this repository.

Build and Installation

Requirements

Note: These are requirements to build the RetDec IDA plugin, not to run it. See our User Guide for information on plugin installation, configuration, and use.

  • A compiler supporting C++17
  • On Windows, only Microsoft Visual C++ is supported (version >= Visual Studio 2017).
  • CMake (version >= 3.6)
  • IDA SDK (version == 7.5)

Process

  • Clone the repository:
  • git clone https://github.com/avast/retdec-idaplugin.git
  • Linux:
  • cd retdec-idaplugin
  • mkdir build && cd build
  • cmake .. -DIDA_SDK_DIR=<path>
  • make
  • make install (if IDA_DIR was set, see below)
  • Windows:
  • Open a command prompt (e.g. C:\msys64\msys2_shell.cmd from MSYS2)
  • cd retdec-idaplugin
  • mkdir build && cd build
  • cmake .. -DIDA_SDK_DIR=<path> -G<generator>
  • cmake --build . --config Release -- -m
  • cmake --build . --config Release --target install (if IDA_DIR was set, see below)
  • Alternatively, you can open retdec-idaplugin.sln generated by cmake in Visual Studio IDE.

You must pass the following parameters to cmake: * -DIDA_SDK_DIR=</path/to/idasdk> to tell cmake where the IDA SDK directory is located. * (Windows only) -G<generator> is -G"Visual Studio 15 2017 Win64" for 64-bit build using Visual Studio 2017. Later versions of Visual Studio may be used. Only 64-bit build is supported.

You can pass the following additional parameters to cmake: * -DIDA_DIR=</path/to/ida> to tell cmake where to install the plugin. If specified, installation will copy plugin binaries into IDA_DIR/plugins, and content of scripts/idc directory into IDA_DIR/idc. If not set, installation step does nothing. * -DRETDEC_IDAPLUGIN_DOC=ON to enable the user-guide target which generates the user guide document (disabled by default, the target needs to be explicitly invoked).

User Guide

The User Guide in a PDF form is located in doc/user_guide/user_guide.pdf.

You can build your own guide by enabling and invoking the user-guide target: * cmake .. -DRETDEC_IDAPLUGIN_DOC=ON * Linux: make user-guide * Windows: cmake --build . --config Release --target user-guide * Requires LaTeX, LaTeX packages, and related tools. * The resulting PDF will overwrite the original user_guide.pdf in doc/user_guide.

License

Copyright (c) 2020 Avast Software, licensed under the MIT license. See the LICENSE file for more details.

RetDec IDA plugin uses third-party libraries or other resources listed, along with their licenses, in the LICENSE-THIRD-PARTY file.

Contributing

See RetDec contribution guidelines.

Core symbols most depended-on inside this repo

Shape

Method 64
Function 28
Class 14
Enum 1

Languages

C++95%
Python5%

Modules by API surface

src/idaplugin/function.cpp18 symbols
src/idaplugin/place.cpp17 symbols
src/idaplugin/ui.cpp15 symbols
src/idaplugin/config.cpp13 symbols
src/idaplugin/retdec.cpp11 symbols
src/idaplugin/ui.h9 symbols
src/idaplugin/yx.cpp7 symbols
scripts/run-ida-decompilation.py5 symbols
src/idaplugin/utils.cpp4 symbols
src/idaplugin/token.h2 symbols
src/idaplugin/token.cpp2 symbols
src/idaplugin/yx.h1 symbols

For agents

$ claude mcp add retdec-idaplugin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page