Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
haruspex — مساعد أبحاث الثغرات الأمنية يستخرج الكود الزائف من مفكك IDA Hex-Rays. | Kitploit
أدوات/GitHubGitHub/0xdea/haruspex
تحليل الشفرة الثابت (SAST)تحليل الثغرات الأمنيةالهندسة العكسيةتحليل الملفات الثنائية
GitHub0xdea/haruspex

haruspex

مساعد أبحاث الثغرات الأمنية يستخرج الكود الزائف من مفكك IDA Hex-Rays.

عرض المستودع
1311044منذ 4 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

haruspex

build doc

"الاختراق هو انضباط يتمثل في التشكيك في جميع افتراضاتك طوال الوقت."

-- Dave Aitel

Haruspex هو إضافة IDA سريعة للغاية تعمل بدون واجهة رسومية، وتستخرج الكود الزائف الناتج عن مفكك الترجمة (decompiler) الخاص بـ IDA بصيغة يُفترض أن تكون مناسبة للاستيراد إلى بيئة تطوير متكاملة (IDE)، أو لتحليلها بواسطة أدوات التحليل الساكن مثل Semgrep، أو weggli، أو oneiromancer.

الميزات

  • تجربة استخدام سريعة للغاية وبدون واجهة رسومية بفضل IDA 9.x وارتباطات Rust الخاصة بـ idalib-rs.
  • دعم الأهداف الثنائية لأي معمارية يدعمها مفكك الترجمة Hex-Rays الخاص بـ IDA.
  • يُخزَّن الكود الزائف لكل دالة في ملف منفصل داخل دليل الإخراج لتسهيل الفحص.
  • تُستخرَج تعريفات الأنواع العامة وتعريفات الأنواع لكل دالة إلى ملفات رأس (header files) بجانب الكود الزائف.
  • يمكن للحزم الخارجية استدعاء [decompile_to_file] لتفكيك دالة وحفظ الكود الزائف وتعريفات الأنواع الخاصة بها على القرص، مع التمييز بين الدوال التي يتعذّر تفكيكها والأخطاء مثل عدم توفر ترخيص Hex-Rays.

المقالات

  • https://hex-rays.com/blog/streamlining-vulnerability-research-idalib-rust-bindings
  • https://hnsecurity.it/blog/streamlining-vulnerability-research-with-ida-pro-and-rust

انظر أيضًا

  • https://github.com/0xdea/ghidra-scripts/blob/main/Haruspex.java
  • https://github.com/0xdea/semgrep-rules
  • https://github.com/0xdea/weggli-patterns
  • https://docs.hex-rays.com/release-notes/9_0#headless-processing-with-idalib
  • https://github.com/idalib-rs/idalib
  • https://github.com/xorpse/parascope
  • https://hnsecurity.it/blog/automating-binary-vulnerability-discovery-with-ghidra-and-semgrep

التثبيت

أسهل طريقة للحصول على أحدث إصدار هي عبر crates.io:

  1. نزّل IDA وثبّته واضبط إعداداته (انظر https://hex-rays.com/ida-pro).
  2. ثبّت LLVM/Clang (انظر https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. على Linux/macOS، ثبّت كما يلي:
    export IDADIR=/path/to/ida # if not set, the build script will check common locations
    cargo install haruspex --locked
    
    أما على Windows، فاستخدم الأوامر التالية:
    $env:LIBCLANG_PATH="\path\to\clang+llvm\bin"
    $env:PATH="\path\to\ida;$env:PATH"
    $env:IDADIR="\path\to\ida" # if not set, the build script will check common locations
    cargo install haruspex --locked
    

الترجمة (البناء)

بدلاً من ذلك، يمكنك البناء من المصدر:

  1. نزّل IDA وثبّته واضبط إعداداته (انظر https://hex-rays.com/ida-pro).
  2. ثبّت LLVM/Clang (انظر https://rust-lang.github.io/rust-bindgen/requirements.html).
  3. على Linux/macOS، ترجم كما يلي:
    git clone --depth 1 https://github.com/0xdea/haruspex
    cd haruspex
    export IDADIR=/path/to/ida # if not set, the build script will check common locations
    cargo build --release --locked
    
    أما على Windows، فاستخدم الأوامر التالية:
    git clone --depth 1 https://github.com/0xdea/haruspex
    cd haruspex
    $env:LIBCLANG_PATH="\path\to\clang+llvm\bin"
    $env:PATH="\path\to\ida;$env:PATH"
    $env:IDADIR="\path\to\ida" # if not set, the build script will check common locations
    cargo build --release --locked
    

الاستخدام

  1. تأكد من ضبط IDA بشكل صحيح مع ترخيص صالح.
  2. تأكد من تعيين متغير البيئة IDADIR إذا كان تثبيت IDA لديك في موقع غير قياسي.
  3. شغّله كما يلي:
    haruspex <binary_file>
    
  4. اعثر على الكود الزائف وتعريفات الأنواع المستخرجة في دليل الإخراج بجانب <binary_file>، المسمّى باسمه مع استبدال امتداده، إن وُجد، بـ .dec (على سبيل المثال، يُنتج كل من foo.exe وfoo الملف foo.dec، لذا تتشارك الملفات الثنائية التي تختلف فقط في امتدادها نفس دليل الإخراج):
    vim foo.dec
    code foo.dec
    

التوافق

يُدعم رسميًا أحدث إصدار من IDA فقط، لكن الإصدارات الأقدم قد تعمل أيضًا. يلخّص الجدول التالي أحدث إصدار متوافق مع كل إصدار من IDA:

إصدار IDAأحدث إصدار متوافق
v9.0.240925v0.2.4
v9.0.241217v0.3.5
v9.1.250226v0.6.2
v9.2.250908v0.7.5
v9.3.260213v0.8.1
v9.3.260327v0.9.0
v9.3.260421v0.9.3
v9.4.260714الإصدار الحالي
v9.4.260915الإصدار الحالي

[!NOTE] راجع وثائق idalib-rs للحصول على معلومات إضافية.

شكر وتقدير

حظي تطوير هذا المشروع بدعم المنظمات التالية:

  • HN Security
  • Hex-Rays عبر برنامج المساهمين الخاص بهم

سجل التغييرات

  • CHANGELOG.md

المهام المتبقية

  • إضافة اختبار انحدار لـ Semgrep CI للتأكد من عدم انخفاض نسبة الأسطر التي تم تحليلها.
  • استخدام الامتداد .cpp بدلاً من .c لإخراج الكود الزائف (انظر هذه المشكلة)؟
  • تنفيذ إخراج مُسلسَل لتسهيل التحليل والتحليل الآلي.
  • التكامل مع فحص Semgrep (انظر https://github.com/0xdea/semgrep-rules).
  • التكامل مع فحص weggli (انظر https://github.com/0xdea/weggli-patterns).
  • تحسين إخراج مفكك الترجمة على غرار HexRaysPyTools وabyss.
  • تنفيذ التحليل المتوازي (انظر https://github.com/fugue-re/fugue-mptp).
تنزيل الأداة