Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Cartographer — مكوّن إضافي لاستكشاف تغطية الكود في Ghidra | Kitploit
أدوات/GitHubGitHub/nccgroup/cartographer
تحليل الشفرة الديناميكي (DAST)الهندسة العكسيةتحليل الملفات الثنائية
GitHubnccgroup/cartographer

Cartographer

مكوّن إضافي لاستكشاف تغطية الكود في Ghidra

عرض المستودع
38235منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Cartographer

رسم خريطة تغطية الكود

Version Build Status License
Watchers Stars Downloads

تم التطوير بواسطة Austin Peavy - https://github.com/aus10pv

صدر كمصدر مفتوح بواسطة NCC Group Plc - https://www.nccgroup.com/
صدر بموجب رخصة Apache 2.0 (انظر LICENSE لمزيد من المعلومات)

واجهة Cartographer

الوصف

Cartographer هو إضافة لرسم خرائط تغطية الكود (code coverage) لـ Ghidra، تتيح للباحثين معرفة أي أجزاء من البرنامج تم تنفيذها دون الحاجة إلى الكود المصدري.

جدول المحتويات

  • الميزات الرئيسية
  • التثبيت
    • تحميل الإضافة
  • الاستخدام
    • تحميل ملفات تغطية الكود
    • تفاصيل تغطية الكود
    • التبديل بين ملفات التغطية
    • محلل التعبيرات
      • الصيغة
      • أمثلة
  • المساهمة
    • البناء من المصدر
    • الإبلاغ عن الأخطاء
  • الاعتمادات

الميزات الرئيسية

  • تلوين الكود الذي تم تنفيذه
    • عرض Function Graph
    • عرض التفكيك (القائمة)
    • عرض المفكك (Decompiler)
  • ألوان قابلة للتخصيص بالكامل
  • دعم سمات Ghidra
  • تحميل ملفات DRCOV وملفات EZCOV المخصصة
    • راجع EZCOV.md للاطلاع على تفاصيل تنسيق EZCOV
  • يوفر نظرة عامة مفصّلة على تغطية الدوال
    • يتضمن خريطة حرارية توضح مقدار ما تم تنفيذه من كل دالة
  • التبديل بسهولة بين ملفات التغطية المحمّلة
  • البحث عن الدوال بالاسم
  • تصفية النتائج حسب مقدار التغطية والمزيد
  • محلل تعبيرات قوي
    • إجراء عمليات منطقية على عدة تغطيات محمّلة
  • دعم التغطية في مساحات عناوين مختلفة

التثبيت

يمكن تنزيل أحدث إصدار مستقر من Cartographer من صفحة Releases.

تحميل الإضافة

  1. شغّل Ghidra.
  2. انتقل إلى نافذة Install Extensions.
    • File -> Install Extensions...
  3. انقر على أيقونة «+» الخضراء في الزاوية العلوية اليمنى.
  4. حدد ملف ZIP الذي تم تنزيله لتحميل الإضافة في Ghidra.
  5. انقر على زر «OK» للخروج من نافذة Install Extensions.
  6. أعد تشغيل Ghidra عند ظهور الرسالة.

الاستخدام

بمجرد تحميل الإضافة، ستظهر عناصر تحكم إضافية في نافذة CodeBrowser للعمل مع بيانات تغطية الكود.

تحميل ملفات تغطية الكود

يمكن تحميل ملفات تغطية الكود عبر قائمة Tools: Tools -> Code Coverage -> Load Code Coverage File(s)...

عند تحميل ملف تغطية الكود، يتم تمييز جميع بيانات التغطية فورًا في عرض القائمة (Listing) وعرض المفكك (Decompiler).

تحميل ملف تغطية الكود

تفاصيل تغطية الكود

يمكن العثور على معلومات مفصّلة حول بيانات التغطية لكل دالة في نافذة Code Coverage.

يمكن فتح نافذة Code Coverage بالانتقال إلى Window -> Code Coverage، أو بالضغط على Ctrl-Shift-C في Windows (Cmd-Shift-C في Mac).

تعرض هذه النافذة تفاصيل متنوعة عن كل دالة في البرنامج:

  • نسبة التغطية (Coverage %): النسبة المئوية للدالة التي تم تنفيذها
  • الاسم (Name): اسم الدالة
  • العنوان (Address): عنوان الدالة (نقطة الدخول)
  • الكتل المُنفَّذة (Blocks Hit): عدد الكتل الأساسية التي تم تنفيذها
  • التعليمات المُنفَّذة (Instructions Hit) عدد التعليمات التي تم تنفيذها
  • حجم الدالة (Function Size): حجم الدالة بالبايت

سيؤدي النقر على أي دالة إلى الانتقال إلى تلك الدالة في عرض القائمة وعرض المفكك.

فتح نافذة Code Coverage

البحث والتصفية

يمكن استخدام مربع الإدخال Filter للبحث عن دالة بالاسم.

يمكن استخدام أي من البيانات المعروضة في جدول التغطية كمرشح للأعمدة.

البحث وتصفية البيانات

التبديل بين ملفات التغطية

يمكن استخدام القائمة المنسدلة في أسفل يمين نافذة Code Coverage للتبديل بسرعة وسهولة بين ملفات تغطية الكود المحمّلة.

التبديل بين ملفات التغطية

محلل التعبيرات

يمكن استخدام مربع النص في أسفل نافذة Code Coverage لإجراء عمليات منطقية على ملفات تغطية الكود المحمّلة.

يمكن أن يكون هذا مفيدًا للغاية لفحص الاختلافات وأوجه التشابه بين عمليات تشغيل مختلفة للبرنامج.

استخدام محلل التعبيرات

الصيغة

فيما يلي العوامل المنطقية التي يمكن استخدامها داخل محلل التعبيرات.

  • &: الحصول على فقط الكود الذي تم تنفيذه بواسطة كلتا التغطيتين
  • |: الحصول على أي كود تم تنفيذه بواسطة إحدى التغطيتين
  • ^: الحصول على فقط الكود المنفَّذ الذي يختلف بين التغطيتين
  • -: الحصول على فقط الكود المنفَّذ الفريد في التغطية اليسرى

يتم الإشارة إلى التغطيات بواسطة معرّفاتها الأبجدية في القائمة المنسدلة، مثل A وB وXY وما إلى ذلك.

يتم تجميع كل عملية منطقية باستخدام الأقواس، ويمكن أن تكون التعبيرات بأي طول أو درجة تعقيد.

أمثلة

  1. اعرض الكود الذي تم تنفيذه في كلتا التغطيتين A وB:

    root@kitploit:~
    A & B
    
  2. اعرض الكود المنفَّذ الذي كان مختلفًا بين التغطيتين A وB:

    root@kitploit:~
    A ^ B
    
  3. اعرض الكود الذي تم تنفيذه فقط في B:

    root@kitploit:~
    B - A
    
  4. ادمج جميع بيانات التغطية الموجودة في A وB، ثم ابحث عن أي اختلافات عن C:

    root@kitploit:~
    (A | B) ^ C
    

المساهمة

البناء من المصدر

يمكن استخدام Gradle لبناء Cartographer من الكود المصدري الخاص به.

  1. استنسخ مستودع Cartographer على GitHub.

    root@kitploit:~
    $ git clone https://github.com/nccgroup/Cartographer.git
    
  2. ادخل إلى المستودع وقم بالبناء باستخدام gradle.

    root@kitploit:~
    $ cd Cartographer
    $ gradle -PGHIDRA_INSTALL_DIR=<ghidra_install_dir>
    
    • استبدل <ghidra_install_dir> بمسار تثبيت Ghidra المحلي لديك.
  3. بعد البناء، سيكون ملف ZIP الخاص بالإضافة في مجلد dist/.

الإبلاغ عن الأخطاء

إذا وجدت خطأً في Cartographer، يرجى فتح Issue عبر GitHub.

الاعتمادات

مستوحى في الأصل من Lighthouse - https://github.com/gaasedelen/lighthouse

تنزيل الأداة