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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
expat_2_1_0_CVE-2024-28757 — مكتبة بلغة C لتحليل XML موجهة للتدفق، مع التركيز على تحليل وإعادة إنتاج الثغرة الأمنية CVE-2024-28757 في Expat 2.1.0. | Kitploit
أدوات/GitHubGitHub/saurabh2088/expat_2_1_0_cve-2024-28757
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودالاستغلالالاختبار العشوائيتحليل الملفات الثنائية
GitHubsaurabh2088/expat_2_1_0_cve-2024-28757

expat_2_1_0_CVE-2024-28757

مكتبة بلغة C لتحليل XML موجهة للتدفق، مع التركيز على تحليل وإعادة إنتاج الثغرة الأمنية CVE-2024-28757 في Expat 2.1.0.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
عرض المستودع
1منذ 2 سنواتلم تتم المراجعة بعد
مشاركة

Expat، الإصدار 2.1.0

هذا هو Expat، وهي مكتبة بلغة C لتحليل XML، كتبها جيمس كلارك. Expat هو محلل XML موجه للتيار (stream-oriented). هذا يعني أنك تسجل معالجات (handlers) مع المحلل قبل بدء التحليل. يتم استدعاء هذه المعالجات عندما يكتشف المحلل البنى المرتبطة في المستند الذي يتم تحليله. تعتبر علامة البداية (start tag) مثالاً على نوع البنى التي يمكنك تسجيل معالجات لها.

يجب على مستخدمي Windows استخدام حزمة expat_win32bin، التي تتضمن كلاً من المكتبات والملفات التنفيذية المترجمة مسبقاً، وكذلك الكود المصدري للمطورين.

Expat هي برمجيات حرة. يمكنك نسخها وتوزيعها وتعديلها بموجب شروط الترخيص الموجود في ملف COPYING الموزع مع هذه الحزمة. هذا الترخيص هو نفسه ترخيص MIT/X Consortium.

إصدارات Expat التي لها رقم إصدار فرعي فردي (الرقم الأوسط في الإصدار أعلاه)، هي إصدارات تطويرية ويجب اعتبارها برمجيات تجريبية (beta). الإصدارات ذات الأرقام الفرعية الزوجية مخصصة لتكون برمجيات بمستوى إنتاجي.

إذا كنت تقوم ببناء Expat من نسخة مسحوبة (check-out) من مستودع CVS، فأنت بحاجة إلى تشغيل برنامج نصي (script) يُنشئ برنامج configure النصي باستخدام أدوات GNU autoconf و libtool. للقيام بذلك، يجب أن يكون لديك autoconf الإصدار 2.58 أو أحدث. قم بتشغيل البرنامج النصي كالتالي:

root@kitploit:~
    ./buildconf.sh

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

لبناء Expat من توزيعة مصدرية، قم أولاً بتشغيل برنامج shell النصي للتكوين (configure) في دليل التوزيعة الأعلى:

root@kitploit:~
    ./configure

هناك العديد من الخيارات التي يمكنك تقديمها لـ configure (والتي يمكنك اكتشافها عن طريق تشغيل configure مع الخيار --help). لكن الخيار الأكثر أهمية هو الذي يحدد دليل التثبيت. بشكل افتراضي، سيقوم برنامج configure النصي بإعداد الأمور لتثبيت libexpat في /usr/local/lib، و expat.h في /usr/local/include، و xmlwf في /usr/local/bin. إذا كنت، على سبيل المثال، تفضل التثبيت في /home/me/mystuff/lib، و /home/me/mystuff/include، و /home/me/mystuff/bin، يمكنك إخبار configure بذلك عن طريق:

root@kitploit:~
    ./configure --prefix=/home/me/mystuff
    

خيار آخر مثير للاهتمام هو تمكين دعم الأعداد الصحيحة 64 بت لأرقام الأسطر والأعمدة ومؤشر البايت الكلي:

root@kitploit:~
    ./configure CPPFLAGS=-DXML_LARGE_SIZE
    

ومع ذلك، فإن مثل هذا التعديل سيكون تغييراً مكسّراً لواجهة ABI وبالتالي لا يُنصح به للاستخدام العام - على سبيل المثال كجزء من توزيعة Linux - بل للبنائات ذات المتطلبات الخاصة.

بعد تشغيل برنامج configure النصي، فإن أمر "make" سيبني الأشياء وأمر "make install" سيثبت الأشياء في مكانها الصحيح. ألقِ نظرة على "Makefile" لتعرف المزيد من خيارات "make". لاحظ أنك تحتاج إلى صلاحية الكتابة في الدلائل التي سيتم التثبيت فيها.

إذا كنت مهتماً ببناء Expat لتقديم معلومات المستند بترميز UTF-16 بدلاً من الترميز الافتراضي UTF-8، فاتبع هذه التعليمات (بعد تشغيل "make distclean"):

root@kitploit:~
    1. لإخراج UTF-16 كـ unsigned short (وسلاسل الإصدار/الخطأ كـ char)، قم بتشغيل:

           ./configure CPPFLAGS=-DXML_UNICODE

       لإخراج UTF-16 كـ wchar_t (بما في ذلك سلاسل الإصدار/الخطأ)، قم بتشغيل:

           ./configure CFLAGS="-g -O2 -fshort-wchar" \
                       CPPFLAGS=-DXML_UNICODE_WCHAR_T

    2. قم بتحرير ملف MakeFile، بتغيير:

           LIBRARY = libexpat.la

       إلى:

           LIBRARY = libexpatw.la

       (لاحظ الحرف "w" الإضافي في اسم المكتبة.)

    3. قم بتشغيل "make buildlib" (الذي يبني المكتبة فقط).
       أو، لتوفير الخطوة 2، قم بتشغيل "make buildlib LIBRARY=libexpatw.la".

    4. قم بتشغيل "make installlib" (الذي يثبت المكتبة فقط).
       أو، إذا تم حذف الخطوة 2، قم بتشغيل "make installlib LIBRARY=libexpatw.la".
       

استخدام DESTDIR أو INSTALL_ROOT ممكن، مع كون INSTALL_ROOT هو القيمة الافتراضية لـ DESTDIR، وبقية ملف make يستخدم DESTDIR فقط. يعمل كالتالي: $ make install DESTDIR=/path/to/image يتجاوز قيمة DESTDIR المحددة داخل ملف make، بينما كل من $ INSTALL_ROOT=/path/to/image make install $ make install INSTALL_ROOT=/path/to/image يستخدمان DESTDIR=$(INSTALL_ROOT)، حتى لو تم تعريف DESTDIR في النهاية في البيئة، لأن أولوية تعريف المتغير هي

  1. سطر الأوامر
  2. داخل ملف make
  3. البيئة

ملاحظة: هذا ينطبق فقط على مكتبة Expat نفسها، بناء إصدارات UTF-16 من xmlwf والاختبارات غير مدعوم حالياً.

ملاحظة لمستخدمي Solaris: أمر "ar" يوجد عادة في "/usr/ccs/bin"، وهو ليس في المسار الافتراضي PATH. ستحتاج إلى إضافته إلى مسارك لأمر "make"، وربما أيضاً التبديل إلى GNU make (أمر "make" الموجود في /usr/ccs/bin لا يبدو أنه يعمل بشكل صحيح - يبدو أنه لا يفهم توجيهات .PHONY). إذا كنت تستخدم ksh أو bash، استخدم هذا الأمر للبناء:

root@kitploit:~
    PATH=/usr/ccs/bin:$PATH make

عند استخدام Expat مع مشروع يستخدم autoconf للتكوين، يمكنك استخدام دالة الكشف (macro) في conftools/expat.m4 لتحديد كيفية تضمين Expat. راجع التعليقات في أعلى ذلك الملف لمزيد من المعلومات.

الكتيب المرجعي متاح في ملف doc/reference.html في هذا التوزيع.

الصفحة الرئيسية لهذا المشروع هي http://www.libexpat.org/. هناك روابط هناك تربطك بصفحة تقارير الأخطاء. إذا كنت بحاجة إلى الإبلاغ عن خطأ عندما لا يكون لديك وصول إلى متصفح، يمكنك أيضاً إرسال تقرير خطأ عبر البريد الإلكتروني إلى [email protected].

النقاشات المتعلقة باتجاه تطوير expat المستقبلي تتم على [email protected]. يمكن العثور على أرشيفات هذه القائمة وقوائم أخرى متعلقة بـ Expat على:

root@kitploit:~
    http://mail.libexpat.org/mailman/listinfo/
تنزيل الأداة