IDA Pro plugin with a rich set of features: decryption, deobfuscation, patching, lib code recognition and various pseudocode transformations
C++
1,942
200 commits
updated Sep 17, 2026
hrtng IDA plugin is a collection of tools, ideas and experiments I've found interesting and useful in my reversing work.
Special thanks to following peoples for their great plugins were used as base for my work:
The plugin requires Hex-Rays decompiler presence in your IDA installation.
Only latest version of IDA is supported and evolves. However the plugin can be compiled with IDA SDK >= 7.3
New features and fixes added for the current IDA usually not well tested with old versions.
There is no one place in menu where all functionality of the plugin grouped together.
The plugin's menu items placed closer to logically related standard IDA & Hex-Rays decompiler functions.
Messages, menu items, popup windows and dialog boxes belong to this plugin are marked with "[hrt]" prefix.
cryptopp-cmake source code to hrtng/src/cryptopp-cmake folder.git clone --depth=1 --recurse-submodules --shallow-submodules https://github.com/KasperskyLab/hrtng.git
IDA_DIR/plugins/hexrays_sdk/include/hexrays.hpp file to the include directory of the IDA SDK.hrtng/src/CMakeLists.txt file to set correct path and version of used IDA SDK. To build later with another SDK version you may change cmake's IDASDK_VER variable with using cmake -D, ccmake or cmake-gui tools.mkdir bld && cd bld
cmake <path-to/hrtng/src>
cmake --build . --config Release -j 4 --clean-first
hrtng/src/deob.cpp:912:60: error: ‘class rangeset_t’ has no member named ‘as_rangevec’
fc.create("tmpfc2", ranges.as_rangevec(), 0);//!!! add line into range.hpp, class rangeset_t: "const rangevec_t &as_rangevec() const { return bag; }"
IDA_SDK/include/range.hpp file, adding line with as_rangevec function implementation into class rangeset_t declaration as in the following example:class rangeset_t
{
rangevec_t bag;
...
public:
const rangevec_t &as_rangevec() const { return bag; }
...
};
IDA_DIR/plugins folder together with apilist.txt and literal.txt files from hrtng/bin/pluginsThis program is released under GPL v3 license
IDA Pro plugin with a rich set of features: decryption, deobfuscation, patching, lib code recognition and various pseudocode transformations
C++
1,942
200 commits
updated Sep 17, 2026
hrtng IDA plugin is a collection of tools, ideas and experiments I've found interesting and useful in my reversing work.
Special thanks to following peoples for their great plugins were used as base for my work:
The plugin requires Hex-Rays decompiler presence in your IDA installation.
Only latest version of IDA is supported and evolves. However the plugin can be compiled with IDA SDK >= 7.3
New features and fixes added for the current IDA usually not well tested with old versions.
There is no one place in menu where all functionality of the plugin grouped together.
The plugin's menu items placed closer to logically related standard IDA & Hex-Rays decompiler functions.
Messages, menu items, popup windows and dialog boxes belong to this plugin are marked with "[hrt]" prefix.
cryptopp-cmake source code to hrtng/src/cryptopp-cmake folder.git clone --depth=1 --recurse-submodules --shallow-submodules https://github.com/KasperskyLab/hrtng.git
IDA_DIR/plugins/hexrays_sdk/include/hexrays.hpp file to the include directory of the IDA SDK.hrtng/src/CMakeLists.txt file to set correct path and version of used IDA SDK. To build later with another SDK version you may change cmake's IDASDK_VER variable with using cmake -D, ccmake or cmake-gui tools.mkdir bld && cd bld
cmake <path-to/hrtng/src>
cmake --build . --config Release -j 4 --clean-first
hrtng/src/deob.cpp:912:60: error: ‘class rangeset_t’ has no member named ‘as_rangevec’
fc.create("tmpfc2", ranges.as_rangevec(), 0);//!!! add line into range.hpp, class rangeset_t: "const rangevec_t &as_rangevec() const { return bag; }"
IDA_SDK/include/range.hpp file, adding line with as_rangevec function implementation into class rangeset_t declaration as in the following example:class rangeset_t
{
rangevec_t bag;
...
public:
const rangevec_t &as_rangevec() const { return bag; }
...
};
IDA_DIR/plugins folder together with apilist.txt and literal.txt files from hrtng/bin/pluginsThis program is released under GPL v3 license