HRTNG IDA Plugin هو مجموعة من الأدوات والأفكار والتجارب من مصادر مختلفة وجدتها مثيرة للاهتمام ومفيدة في عملي العكسي.
دليل عملي لعكس البرامج الضارة المعقدة باستخدام مثال تشريح وحدة Finspy بمساعدة المكون الإضافي لـ HRTNG IDA على Securelist
لا يوجد مكان واحد في القائمة حيث يتم تجميع جميع وظائف البرنامج المساعد معًا. وضعت عناصر قائمة HRTNG أقرب إلى وظائف IDA و hex-ray القياسية ذات الصلة منطقيا. يتم وضع علامة على الرسائل وعناصر القائمة والنوافذ المنبثقة ومربعات الحوار لهذا البرنامج المساعد ببادئة " [hrt] ".
يتطلب المكون الإضافي حضور Decompiler Hex-ray في تثبيت IDA الخاص بك. يمكن تجميع المكون الإضافي باستخدام IDA SDK> = 7.3 ولكن لم يتم اختباره جيدًا مع الإصدارات القديمة.
شكر خاص لاتباع الشعوب على الإضافات الرائعة التي تم استخدامها كقاعدة لعملي:
hrtng/src/cryptopp-cmake Folder. cd src
git clone https://github.com/abdes/cryptopp-cmake
IDA_DIR/plugins/hexrays_sdk/include/hexrays.hpp file to the include for the ida sdk. (ليس ضروريًا لـ IDA 9.0)hrtng/src/CMakeLists.txt لتعيين المسار الصحيح وإصدار IDA SDK المستخدمة. للبناء لاحقًا مع إصدار آخر من SDK ، يمكنك تغيير متغير IDASDK_VER الخاص بـ CMake باستخدام أدوات cmake -D أو ccmake أو cmake-gui . 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 togeter مع ملفات apilist.txt و literal.txt من hrtng/bin/pluginsتم إصدار هذا البرنامج بموجب ترخيص GPL V3