Skip to content

avast/retdec-idaplugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.
  3. Don't forget to install the required dependencies mentioned in the user guide.

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.7)

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.