hrtng - IDA插件:解密|反混淆|打补丁|库代码识别|伪代码转换

hrtng – IDA插件:解密|反混淆|打补丁|库代码识别|伪代码转换

hrtng IDA插件简介

hrtng IDA 插件是来自不同来源的工具、想法和实验的集合,我发现它们在我的逆向工作中很有趣且有用。

菜单中没有一个地方将插件的所有功能组合在一起。hrtng 菜单项放置在逻辑上更接近相关的标准 IDA 和 Hex-Rays 反编译器功能的位置。属于此插件的消息、菜单项、弹出窗口和对话框都标有“ [hrt]”前缀。

该插件需要 IDA 安装中存在 Hex-Rays 反编译器。该插件可以使用 IDA SDK >= 7.3 进行编译,但旧版本尚未经过充分测试。

特别感谢以下人员,他们的出色插件成为我工作的基础:

hrtng - IDA插件:解密|反混淆|打补丁|库代码识别|伪代码转换

插件特点:

自动化

交互式伪代码转换

解密

处理混淆代码

代码识别

结构援助

虚拟/间接呼叫协助

IDA UI 改进

错误特征

修补

IDA 插件开发人员帮助

构建

cd src
git clone https://github.com/abdes/cryptopp-cmake
  • 将文件复制IDA_DIR/plugins/hexrays_sdk/include/hexrays.hppincludeIDA SDK 目录。(IDA 9.0 不需要)
  • 编辑hrtng/src/CMakeLists.txt文件以设置所用 IDA SDK 的正确路径和版本。要稍后使用其他 SDK 版本进行构建,您可以使用 或IDASDK_VER工具cmake -D更改cmake 的变量。ccmakecmake-gui
  • 创建build目录,进入,配置并build cmake项目
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 ‘getbag’
     fc.create("tmpfc2", ranges.getbag(), 0);//!!! add line into range.hpp, class rangeset_t: "const rangevec_t &getbag() const { return bag; }"
  • 要修复错误,请编辑IDA_SDK/include/range.hpp文件,getbag在声明中添加包含函数实现的行class rangeset_t,如下例所示:
class rangeset_t
{
  rangevec_t bag;
  ...
  public:
  const rangevec_t &getbag() const { return bag; }
  ...
};
  • 将构建的二进制文件连同文件IDA_DIR/plugins一起复制到文件夹中apilist.txtliteral.txthrtng/bin/plugins
  • 收获

作者

  • kaspersky.com 的 Sergey.Belov

下载地址

hrtng-1.1.8.7z

项目地址

GitHub:
https://github.com/KasperskyLab/hrtng

Leave a Reply

您的邮箱地址不会被公开。 必填项已用 * 标注