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.
- 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).
- Follow the user guide (
user_guide.pdf
) that is part of the downloaded package, or use the current version from this repository. - 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
(ifIDA_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
(ifIDA_DIR
was set, see below)- Alternatively, you can open
retdec-idaplugin.sln
generated bycmake
in Visual Studio IDE.
- Open a command prompt (e.g.
You must pass the following parameters to cmake
:
-DIDA_SDK_DIR=</path/to/idasdk>
to tellcmake
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 tellcmake
where to install the plugin. If specified, installation will copy plugin binaries intoIDA_DIR/plugins
, and content ofscripts/idc
directory intoIDA_DIR/idc
. If not set, installation step does nothing.-DRETDEC_IDAPLUGIN_DOC=ON
to enable theuser-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
indoc/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.