吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1210|回复: 4
上一主题 下一主题
收起左侧

[IDA Plugin] hrtng IDA plugin

  [复制链接]
跳转到指定楼层
楼主
风吹屁屁凉 发表于 2024-12-30 11:09 回帖奖励

hrtng IDA plugin

hrtng IDA plugin is a collection of tools, ideas and experiments from different sources I've found interesting and useful in my reversing work.

A practical guide to the reverse of a complex malware using the example of dissecting a FinSpy module with help of hrtng IDA plugin on securelist

There is no one place in menu where all functionality of the plugin grouped together. hrtng 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.  

The plugin requires Hex-Rays decompiler presence in your IDA installation. The plugin can be compiled with IDA SDK >= 7.3 but not well tested with old versions.

Special thanks to following peoples for their great plugins were used as base for my work:

Features of the plugin:

Automation

Interactive pseudocode transformation

Decryption

Deal with obfuscated code

Code recognition

Structures assistance

Virtual/indirect calls assistance

IDA UI improvements

Misk features

Patching

IDA plugin developer help

Building

cd src
git clone https://github.com/abdes/cryptopp-cmake
  • Copy IDA_DIR/plugins/hexrays_sdk/include/hexrays.hpp file to the include directory of the IDA SDK. (Not necessary for IDA 9.0)

  • Edit 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.

  • Create build directory, go into it, configure and build cmake project

    mkdir bld && cd bld
    cmake <path-to/hrtng/src>
    cmake --build . --config Release -j 4 --clean-first
  • On the first build attempt there will be compiling error looks like:

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; }"
  • To fix the error, edit IDA_SDK/include/range.hpp file, adding line with getbag function implementation into class rangeset_t declaration as in the following example:
class rangeset_t
{
  rangevec_t bag;
  ...
  public:
  const rangevec_t &getbag() const { return bag; }
  ...
};
  • Copy built binaries into IDA_DIR/plugins folder togeter with apilist.txt and literal.txt files from hrtng/bin/plugins
  • Profit

License

This program is released under GPL v3 license

Authors

  • Sergey.Belov at kaspersky.com

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

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
axiosdidi + 1 + 1 我很赞同!
max2012 + 1 + 1 谢谢@Thanks!
ytfh1131 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
听世界的喧闹 发表于 2024-12-30 12:34
谢谢分享
3#
kongson 发表于 2024-12-30 13:10
4#
yuzilin 发表于 2024-12-30 14:38
5#
xxy2191 发表于 2024-12-30 17:28
慢慢学习,先收藏。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-4 05:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表