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.

عرض المستودع
1311031منذ 2 أيامتمت المراجعة من قبل 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] لتفكيك دالة وحفظ الكود الزائف وتعريفات الأنواع الخاصة بها على القرص.

المقالات

  • 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:
    vim <binary_file>.dec
    code <binary_file>.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).
تنزيل الأداة