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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
platform_external_gptfdisk_AOSP10_r33_CVE-2021-0308 — مجموعة تقسيم الأقراص لأقراص GPT و MBR، تقدم أدوات تفاعلية وقابلة للبرمجة لإنشاء وتعديل وإصلاح جداول الأقسام، بما في ذلك إصلاح هياكل MBR التالفة. | Kitploit
أدوات/GitHubGitHub/trinadh465/platform_external_gptfdisk_aosp10_r33_cve-2021-0308
أدوات عامةتحليل الثغرات الأمنيةالاستغلالالتحقيق الجنائي الرقمياستعادة البياناتتحليل الملفات الثنائية
GitHubtrinadh465/platform_external_gptfdisk_aosp10_r33_cve-2021-0308

platform_external_gptfdisk_AOSP10_r33_CVE-2021-0308

مجموعة تقسيم الأقراص لأقراص GPT و MBR، تقدم أدوات تفاعلية وقابلة للبرمجة لإنشاء وتعديل وإصلاح جداول الأقسام، بما في ذلك إصلاح هياكل MBR التالفة.

عرض المستودع
117منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

GPT fdisk (ويعرف أيضًا باسم gdisk وcgdisk وsgdisk) وFixParts

بقلم رودريك دبليو سميث، [email protected]

المقدمة

تحتوي هذه الحزمة على الكود المصدري لأربعة برامج لتقسيم الأقراص ذات الصلة:

  • gdisk – هذا البرنامج مستوحى من برنامج Linux fdisk، لكنه يعمل على أقراص GPT (جدول تقسيم GUID) بدلاً من أقراص MBR (سجل الإقلاع الرئيسي) التي يعدلها fdisk. وبالتالي، فإن gdisk هو أداة تفاعلية في وضع النص لتعديل الأقسام، لكنه لا يفعل شيئًا لمحتويات تلك الأقسام (عادةً أنظمة الملفات، ولكن أحيانًا مساحة المبادلة أو بيانات أخرى).

  • cgdisk – هذا البرنامج مستوحى من برنامج Linux cfdisk، لكنه يعمل على أقراص GPT بدلاً من أقراص MBR التي يعدلها cfdisk. وبالتالي، فإن cgdisk هو أداة في وضع النص تعتمد على مكتبة curses لتعديل الأقسام، مما يعني أنه يستخدم واجهة تعتمد على مفاتيح الأسهم وشاشة ديناميكية بدلاً من أحرف الأوامر وشاشة التمرير التي يستخدمها gdisk.

  • sgdisk – هذا البرنامج مشابه من الناحية المفاهيمية لبرنامج Linux sfdisk وبرنامج FreeBSD gpt، لكن تفاصيل تشغيله مختلفة. فهو يتيح تعديل أقراص GPT باستخدام خيارات سطر الأوامر، مما يجعله مناسبًا للاستخدام في السكريبتات أو من قبل الخبراء لتنفيذ مهام محددة قد تتطلب عدة أوامر في gdisk لإنجازها.

  • fixparts – هذا البرنامج، على عكس الثلاثة السابقة، يعمل على أقراص MBR. وهو مصمم لإصلاح بعض المشكلات التي قد تنشأ عن أدوات مساعدة متنوعة. على وجه التحديد، يمكنه إصلاح الأقسام الممتدة ذات الحجم الخاطئ والأقسام الأساسية الموجودة في منتصف الأقسام الممتدة. كما يتيح تغيير حالة القسم (أساسي مقابل منطقي) ضمن حدود ما هو قانوني في مخطط MBR، وإجراء بعض التغييرات الطفيفة الأخرى. وهو لا يدعم إنشاء أقسام جديدة؛ لذلك يجب استخدام fdisk أو parted أو أي أداة أخرى لذلك.

تتبع تفاصيل أكثر حول قدرات هذه الأدوات أدناه.

تعتمد جميع البرامج الأربعة على نفس مجموعة الكود الأساسي؛ فهي تختلف فقط في واجهات التحكم الخاصة بها (المحددة في الملفات gdisk.cc وcgdisk.cc وsgdisk.cc وfixparts.cc على التوالي) وفي كود الدعم الذي تستخدمه.

تفاصيل GPT fdisk (gdisk وcgdisk وsgdisk)

برنامج gdisk مخصص ليكون (إلى حد ما) برنامجًا مشابهًا لـ fdisk للأقراص المقسمة بنظام GPT، وcgdisk مشابه لـ cfdisk، وsgdisk يوفر معظم وظائف gdisk في برنامج أكثر ملاءمة للسكريبتات. على الرغم من أن libparted والبرامج التي تستخدمه (GNU Parted وgparted وما إلى ذلك) توفر القدرة على التعامل مع أقراص GPT، إلا أن لها بعض القيود التي يتغلب عليها gdisk. تشمل المزايا الخاصة لـ gdisk وcgdisk وsgdisk ما يلي:

  • القدرة على تحويل أقراص MBR إلى تنسيق GPT في مكانها دون فقدان البيانات

  • القدرة على تحويل تسميات BSD (disklabels) في مكانها لإنشاء أقسام GPT دون فقدان البيانات

  • القدرة على التحويل من تنسيق GPT إلى تنسيق MBR دون فقدان البيانات (فقط gdisk وsgdisk)

  • تحديد أكثر مرونة لأكواد GUID لنوع نظام الملفات، وهو ما يميل GNU Parted إلى إفساده

  • تعريف واضح لعدد القطاعات غير المخصصة على القرص

  • واجهة مستخدم مألوفة لمستخدمي Linux fdisk وcfdisk على المدى الطويل (فقط gdisk وcgdisk)

  • ترك كود محمل الإقلاع MBR كما هو

  • القدرة على إنشاء MBR هجين (hybrid MBR)، مما يسمح لأنظمة التشغيل غير المدركة لـ GPT بالوصول إلى ما يصل إلى ثلاثة أقسام GPT على القرص (فقط gdisk وsgdisk)

بالطبع، ليس GPT fdisk خاليًا من القيود. وأبرزها أنه يفتقر إلى الوعي بنظام الملفات والميزات المتعلقة بنظام الملفات في GParted. لا يمكنك تغيير حجم نظام ملفات القسم أو إنشاء قسم مع نظام ملفات موجود بالفعل باستخدام gdisk، على سبيل المثال. لا توجد نسخة واجهة رسومية (GUI) من gdisk.

توفر حزمة GPT fdisk ثلاثة ملفات برنامج: gdisk التفاعلي في وضع النص، وcgdisk التفاعلي المستند إلى curses، وsgdisk القائم على سطر الأوامر. الأولان مخصصان للاستخدام في تقسيم الأقراص يدويًا أو تغيير تفاصيل التقسيم؛ أما sgdisk فهو مخصص للاستخدام في السكريبتات للمساعدة في أتمتة المهام مثل استنساخ القرص أو إعداد أقراص متعددة لتثبيت Linux.

تفاصيل FixParts

كان الدافع لإنشاء هذا البرنامج هو نداءات الاستغاثة التي رأيتها في المنتديات عبر الإنترنت من مستخدمين وجدوا أن جداول الأقسام الخاصة بهم قد تلفت بسبب أدوات تقسيم مختلفة بها أخطاء. على الرغم من أن معظم أنظمة التشغيل يمكنها التعامل مع الأقراص المتضررة بشكل جيد، إلا أن الأدوات المستندة إلى libparted (GParted وparted ومعظم مثبتات Linux وما إلى ذلك) تميل إلى التعطل عند تقديم هذه الأقراص لها. عادةً، يكون العرض هو قرص يبدو أنه لا يحتوي على أقسام؛ ومع ذلك، في بعض الأحيان تقدم أداة libparted أقسامًا غير تلك التي يراها نظام التشغيل.

لقد لاحظت أربعة أسباب لهذه الأعراض، ثلاثة منها يمكن لـ FixParts تصحيحها:

  • بيانات GPT قديمة – إذا تم استخدام قرص كقرص GPT ثم أعيد استخدامه كقرص MBR، فقد يتم مسح بيانات GPT بشكل غير كامل. يحدث هذا إذا تم إعادة تقسيم القرص باستخدام fdisk أو مثبت Windows، على سبيل المثال. (تزيل الأدوات المستندة إلى libparted بيانات GPT القديمة بشكل صحيح عند التحويل من GPT إلى MBR.) يتحقق FixParts من هذه المشكلة عند بدء التشغيل ويعرض تصحيحها. إذا اخترت مسح بيانات GPT، فإن هذا المسح يحدث فورًا، على عكس التغييرات الأخرى التي يجريها البرنامج.

  • الأقسام الممتدة ذات الحجم الخاطئ – تقوم بعض الأدوات بإنشاء قسم ممتد كبير جدًا، وعادةً ما ينتهي بعد القطاع الأخير من القرص. يقوم FixParts تلقائيًا بتصحيح هذه المشكلة (إذا استخدمت الخيار 'w' لحفظ جدول الأقسام).

  • الأقسام الأساسية داخل القسم الممتد – تقوم بعض الأدوات بإنشاء أو نقل أقسام أساسية إلى النطاق الذي يغطيه القسم الممتد. يمكن لـ FixParts عادةً تصحيح هذه المشكلة عن طريق تحويل القسم الأساسي إلى قسم منطقي أو عن طريق تغيير قسم منطقي واحد أو أكثر إلى أقسام أساسية. لكن هذه التصحيحات ليست ممكنة دائمًا، على الأقل دون حذف أو تغيير حجم أقسام أخرى.

  • بيانات RAID المتبقية – إذا تم استخدام قرص في مصفوفة RAID ثم أعيد استخدامه كقرص غير RAID، فقد تصبح بعض الأدوات مرتبكة وتفشل في رؤية القرص. لا يمكن لـ FixParts تصحيح هذه المشكلة. يجب عليك تدمير بيانات RAID القديمة، أو ربما إزالة حزمة dmraid من النظام، لإصلاح هذه المشكلة.

عند تشغيل FixParts، يقدم واجهة شبيهة بـ fdisk، مما يتيح لك ضبط أنواع الأقسام (أساسي أو منطقي أو محذوف)، وتغيير رموز النوع، وتغيير علامة القابلية للإقلاع، وما إلى ذلك. على الرغم من أنه يمكنك حذف قسم (عن طريق حذفه)، إلا أنه لا يمكنك إنشاء أقسام جديدة باستخدام البرنامج. إذا كنت معتادًا على تقسيم الأقراص، خاصة باستخدام Linux fdisk، فإن ميزتين غير معتادتين في FixParts تتطلبان توضيحًا:

  • لا أقسام ممتدة – داخليًا، يقرأ FixParts جدول الأقسام ويتجاهل البيانات المتعلقة بأي قسم (أقسام) ممتدة يجدها. عند حفظ جدول الأقسام، يقوم البرنامج بإنشاء قسم ممتد جديد. يعني هذا التصميم أن البرنامج يصحح تلقائيًا العديد من المشكلات المتعلقة بالقسم الممتد. كما يعني أيضًا أنك لن ترى أي دليل على الأقسام الممتدة في واجهة مستخدم FixParts، على الرغم من أنه يتتبع المتطلبات ويمنعك من إنشاء تخطيطات غير قانونية، مثل قسم أساسي بين قسمين منطقيين.

  • ترقيم الأقسام – في معظم أدوات Linux، الأقسام 1-4 هي أقسام أساسية والأقسام 5 وما فوق هي أقسام منطقية. على الرغم من أن جدول الأقسام القانوني الذي تم تحميله في FixParts سيتوافق في البداية مع هذه الاتفاقية، إلا أن بعض أنواع الجداول التالفة قد لا تفعل ذلك، ويمكن أن تؤدي التغييرات المختلفة التي تجريها أيضًا إلى انحرافات. عندما يكتب FixParts جدول الأقسام، سيتم تغيير ترقيمه ليتوافق مع اتفاقيات MBR القياسية، ولكن يجب عليك استخدام التسمية الصريحة للأقسام على أنها أساسية أو منطقية بدلاً من أرقام الأقسام لتحديد حالة القسم.

التثبيت

لترجمة GPT fdisk، يجب أن يكون لديك أدوات التطوير المناسبة مثبتة، وأبرزها مجموعة مترجمات GNU (GCC) ومترجم g++ الخاص بها لـ C++. لقد اختبرت الترجمة أيضًا باستخدام Clang، والذي يبدو أنه يعمل؛ ومع ذلك، لم أجرِ اختبارات مكثفة للملفات الثنائية الناتجة، بخلاف التحقق من بعض الأساسيات. تحت Windows، يمكن استخدام Microsoft Visual C++ 2008 بدلاً من ذلك. بالإضافة إلى ذلك، لاحظ هذه المتطلبات:

  • على Linux وFreeBSD وOS X وSolaris، يجب تثبيت libuuid. هذا هو المعيار لـ Linux وOS X، على الرغم من أنك قد تحتاج إلى تثبيت حزمة تسمى uuid-dev أو شيء مشابه للحصول على ملفات الرأس. على FreeBSD، يجب تثبيت منفذ e2fsprogs-libuuid.
تنزيل الأداة