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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sleigh — بناء CMake لمكتبة مواصفات معالج SLEIGH الخاصة بـ Ghidra، مما يوفر محركات تفكيك مستقلة ومحركات رفع p-code لأدوات الهندسة العكسية. | Kitploit
أدوات/GitHubGitHub/lifting-bits/sleigh
التحليل الثابتتحليل الكودتحليل الشفرة الديناميكي (DAST)الهندسة العكسيةالبرمجة النصية والأتمتةالأدوات والمكوناتتحليل الملفات الثنائية
GitHublifting-bits/sleigh

sleigh

بناء CMake لمكتبة مواصفات معالج SLEIGH الخاصة بـ Ghidra، مما يوفر محركات تفكيك مستقلة ومحركات رفع p-code لأدوات الهندسة العكسية.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مكتبة Sleigh

Sleigh هي لغة تُستخدم لوصف دلالات مجموعات تعليمات المعالجات الدقيقة ذات الأغراض العامة، بتفصيل كافٍ لتسهيل الهندسة العكسية للبرمجيات المُجمَّعة لهذه المعماريات. وهي جزء من منصة Ghidra للهندسة العكسية وتدعم اثنين من مكوناتها الرئيسية: محركي التفكيك وإزالة الترجمة.

يوفر هذا المستودع مشروع بناء قائم على CMake لـ Sleigh بحيث يمكن بناؤه وتغليفه كمكتبة مستقلة وإعادة استخدامه في مشاريع أخرى غير Ghidra.

المنصات المدعومة

الاسمالدعم
Linuxنعم
macOSنعم
Windowsنعم

التبعيات والمتطلبات الأساسية

مطلوبة

الاسمالإصدارحزمة Linux للتثبيتحزمة macOS Homebrew للتثبيت
(بنيات HEAD) zlibحديثzlib1g-devzlib
GitالأحدثgitN/A
CMake3.18+cmakecmake

ملاحظة: يقوم مشروع CMake هذا بسحب الكود المصدري لـ Ghidra من الإنترنت أثناء التهيئة. راجع الملاحظة حول الكود المصدري لـ Ghidra لمزيد من التفاصيل.

اختيارية

لبناء التوثيق:

الاسمالإصدارحزمة Linux للتثبيتحزمة macOS Homebrew للتثبيت
Doxygenالأحدثdoxygendoxygen
GraphVizالأحدثgraphvizgraphviz

بناء وتثبيت مكتبة Sleigh

# Clone this repository (CMake project for sleigh)
git clone https://github.com/lifting-bits/sleigh.git
cd sleigh

# Configure CMake
cmake -B build -S .

# Build Sleigh
cmake --build build --parallel 8

# Install Sleigh
cmake --install build --prefix ./install

ملاحظة حول الكود المصدري لـ Ghidra

الكود المصدري لـ Ghidra غير مُضمَّن فعليًا في مستودع git هذا، وبشكل افتراضي، سيقوم CMake تلقائيًا بسحب إصدار مستقر من الإنترنت نيابةً عنك.

يرجى الاطلاع على src/README.md لمزيد من المعلومات حول كيفية تخصيص أي commit من الكود المصدري لـ Ghidra سيتم استخدامه/تجميعه، بما في ذلك تحديد نسختك المحلية الخاصة من الكود المصدري لـ Ghidra.

التغليف

تدعم تهيئة CMake أيضًا بناء حزم لـ Sleigh.

على سبيل المثال:

# Package Sleigh
cmake --build build --target package

استخدام API

تم تضمين برنامج مثال يُسمى sleigh-lift لتوضيح كيفية استخدام Sleigh API. يأخذ سلسلة سداسية عشرية من البايتات ويمكنه تفكيكها أو رفعها إلى p-code. يمكن استدعاء البرنامج كما يلي، حيث يجب أن تكون وسيطة action إما disassemble أو pcode:

sleigh-lift [action] [sla_file] [bytes] [-a address] [-p root_sla_dir] [-s pspec_file]

على سبيل المثال، لتفكيك سلسلة البايتات التالية:

$ sleigh-lift disassemble x86-64.sla 4881ecc00f0000
0x00000000: SUB RSP,0xfc0

ولرفعها إلى p-code:

$ sleigh-lift pcode x86-64.sla 4881ecc00f0000
(register,0x200,1) = INT_LESS (register,0x20,8) (const,0xfc0,8)
(register,0x20b,1) = INT_SBORROW (register,0x20,8) (const,0xfc0,8)
(register,0x20,8) = INT_SUB (register,0x20,8) (const,0xfc0,8)
(register,0x207,1) = INT_SLESS (register,0x20,8) (const,0x0,8)
(register,0x206,1) = INT_EQUAL (register,0x20,8) (const,0x0,8)
(unique,0x12c00,8) = INT_AND (register,0x20,8) (const,0xff,8)
(unique,0x12c80,1) = POPCOUNT (unique,0x12c00,8)
(unique,0x12d00,1) = INT_AND (unique,0x12c80,1) (const,0x1,1)
(register,0x202,1) = INT_EQUAL (unique,0x12d00,1) (const,0x0,1)

إذا كنت لا ترغب في بناء sleigh-lift، يجب عليك تعيين خيار متغير CMake sleigh_BUILD_EXTRATOOLS إلى OFF أثناء تهيئة CMake.

الأدوات المساعدة

يحتوي هذا المستودع على أداة مساعدة ليست جزءًا من Sleigh/Ghidra، ويمكنك العثور عليها في دليل support. لها التوقيع التالي ويمكنها مساعدة المستخدم في العثور على موقع ملف مواصفات معين على النظام:

std::optional<std::filesystem::path>
FindSpecFile(std::string_view file_name,
             const std::vector<std::filesystem::path> &search_paths =
                 gDefaultSearchPaths);

ستبحث دالة sleigh::FindSpecFile في المسارات التي يوفرها المستخدم عبر وسيطة search_paths عن ملف مواصفات باسم file_name. الوسيطة الافتراضية لـ search_paths هي sleigh::gDefaultSearchPaths التي تحتوي على أدلة التثبيت/البناء المُنشأة أثناء تهيئة CMake ومجموعة من مواقع التثبيت الشائعة.

إذا كنت لا ترغب في بناء الأدوات المساعدة، يجب عليك تعيين خيار متغير CMake sleigh_BUILD_SUPPORT إلى OFF أثناء تهيئة CMake.

التكامل كتبعية

يوفر تثبيت Sleigh واجهة CMake يمكنك استخدامها عند بناء مشروعك.

يمكنك العثور على مثال لكيفية استخدام ملف تهيئة حزمة CMake في مثال find_package.

نوفر أيضًا دالة مساعدة في CMake وهي sleigh_compile لتجميع ملفات .slaspec الخاصة بك باستخدام مُجمِّع sleigh.

يمكنك العثور على مثال CMake أكثر تعقيدًا مع تجميع مواصفات Sleigh في دليل example، والذي يستخدم الكود المصدري لمثال sleigh المقدم من المنبع.

أخيرًا، يمكنك تحديد موقع ملفات sleigh المُجمَّعة المثبتة عبر متغير CMake sleigh_INSTALL_SPECDIR، وهو مسار مطلق إلى الدليل الجذر لملفات sleigh المُجمَّعة---يجب عليك فحص هذا يدويًا لمعرفة ما يمكن توقعه.

يُقترح أيضًا الرجوع إلى ملف تهيئة CMake وملف CMake الخاص بـ specfiles لمعرفة المزيد حول متغيرات ووحدات CMake المكشوفة.

الترخيص

راجع ملف LICENSE.

تنزيل الأداة