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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
libunwind_CVE-2015-3239_AfterPatch — مكتبة C متعددة البنى لفك تكدس المكدس، وتوليد تتبع التراجع، ومعالجة الاستثناءات، تُستخدم لأغراض التصحيح والتنميط وتحليل الثنائيات على لينكس وفري بي إس دي وإتش بي-يو إكس. | Kitploit
أدوات/GitHubGitHub/renukaselvar/libunwind_cve-2015-3239_afterpatch
أدوات عامةتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةمصممي الأخطاءتحليل الملفات الثنائية
GitHubrenukaselvar/libunwind_cve-2015-3239_afterpatch

libunwind_CVE-2015-3239_AfterPatch

مكتبة C متعددة البنى لفك تكدس المكدس، وتوليد تتبع التراجع، ومعالجة الاستثناءات، تُستخدم لأغراض التصحيح والتنميط وتحليل الثنائيات على لينكس وفري بي إس دي وإتش بي-يو إكس.

الأكثر شعبية

عرض الكل →

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

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

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

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

-- mode: Outline --

هذا هو الإصدار 1.0 من مكتبة unwind. تدعم هذه المكتبة العديد من تركيبات المعمارية/نظام التشغيل:

Linux/x86-64: يعمل جيدًا. Linux/x86: يعمل جيدًا. Linux/ARM: يعمل جيدًا. Linux/IA-64: تم اختباره ودعمه بالكامل. Linux/PARISC: يعمل جيدًا، لكن مكتبة C تفتقر إلى معلومات unwind. HP-UX/IA-64: يعمل في الغالب لكن من المعروف وجود بعض القيود الخطيرة. Linux/AArch64: مضاف حديثًا. Linux/PPC64: مضاف حديثًا. Linux/SuperH: مضاف حديثًا. FreeBSD/i386: مضاف حديثًا. FreeBSD/x86-64: مضاف حديثًا (تُعرف معمارية FreeBSD باسم amd64).

  • إرشادات البناء العامة

بشكل عام، يمكن بناء هذه المكتبة وتثبيتها باستخدام الأوامر التالية:

root@kitploit:~
$ autoreconf -i # مطلوب فقط للبناء من git. يعتمد على libtool.
$ ./configure
$ make
$ make install prefix=PREFIX

حيث PREFIX هو بادئة التثبيت. افتراضيًا، يتم استخدام بادئة /usr/local، بحيث يتم تثبيت libunwind.a في /usr/local/lib و unwind.h في /usr/local/include. للاختبار، قد ترغب في استخدام بادئة /usr/local بدلاً من ذلك.

  • البناء باستخدام مترجم Intel

** الإصدار 8 والإصدارات الأحدث

بدءًا من الإصدار 8، الاسم المفضل لمترجم Intel IA-64 هو "icc" (نفس الاسم كما في x86). وبالتالي، يجب أن يبدو سطر configure كالتالي:

root@kitploit:~
$ ./configure CC=icc CFLAGS="-g -O3 -ip" CXX=icc CCAS=gcc CCASFLAGS=-g \
	LDFLAGS="-L$PWD/src/.libs"
  • البناء على HP-UX

في الوقت الحالي، يجب بناء libunwind باستخدام GCC على HP-UX.

يجب تكوين وتثبيت libunwind على HP-UX كالتالي:

root@kitploit:~
$ ./configure CFLAGS="-g -O2 -mlp64" CXXFLAGS="-g -O2 -mlp64"

ملاحظة: فك الترجمة (unwinding) للثنائيات 32 بت (ILP32) غير مدعوم حاليًا.

** حل مؤقت للإصدارات الأقدم من GCC

الإصدار GCC v3.0 و GCC v3.2 يأتيان مع إصدار سيء من sys/types.h. الحل المؤقت هو تنفيذ الأوامر التالية قبل تشغيل "configure":

root@kitploit:~
$ mkdir $top_dir/include/sys
$ cp /usr/include/sys/types.h $top_dir/include/sys

تم إصلاح الإصدار GCC v3.3.2 أو الأحدث ولا يتطلب هذا الحل المؤقت.

  • البناء من أجل PowerPC64 / Linux

للبناء من أجل power64 يجب استخدام:

$ ./configure CFLAGS="-g -O2 -m64" CXXFLAGS="-g -O2 -m64"

إذا كانت طاقتك الكهربائية تدعم سجلات altivec: $ ./configure CFLAGS="-g -O2 -m64 -maltivec" CXXFLAGS="-g -O2 -m64 -maltivec"

للتحقق مما إذا كان المعالج الخاص بك يدعم سجلات المتجهات (altivec): cat /proc/cpuinfo | grep altivec ويجب أن يكون لديك شيء مثل هذا: cpu : PPC970, altivec supported

إذا بدا أن libunwind لا يعمل (فشل التتبع العكسي)، فحاول تجميعه باستخدام -O0، بدون تحسينات. هناك بعض مشاكل المترجم حسب إصدار gcc الخاص بك.

  • البناء على FreeBSD

تنطبق إرشادات البناء العامة. لبناء وتنفيذ عدة اختبارات، تحتاج إلى مكتبة libexecinfo المتاحة في المنافذ كـ devel/libexecinfo.

تم تطوير المنفذ على FreeBSD 8.0-STABLE. تم بناء المكتبة باستخدام مترجم النظام وهو نسخة معدلة من gcc 4.2.1، وكذلك gcc 4.4.3.

  • اختبارات الانحدار (Regression Testing)

بعد بناء المكتبة، يمكنك تشغيل مجموعة من اختبارات الانحدار باستخدام:

root@kitploit:~
$ make check

** النتائج المتوقعة على IA-64 Linux

ما لم يكن لديك مكتبة C ومترجم حديثين جدًا، من المتوقع حاليًا فشل الاختبارات التالية على IA-64 Linux:

root@kitploit:~
Gtest-init		(يجب أن ينجح بدءًا من glibc-2.3.x/gcc-3.4)
Ltest-init		(يجب أن ينجح بدءًا من glibc-2.3.x/gcc-3.4)
test-ptrace		(يجب أن ينجح بدءًا من glibc-2.3.x/gcc-3.4)
run-ia64-test-dyn1	(يجب أن ينجح بدءًا من glibc-2.3.x)

هذا لا يعني أنه لا يمكن استخدام libunwind مع المترجمات القديمة أو مكتبات C، بل يعني فقط أنه في بعض الحالات الحدودية، سيفشل فك الترجمة. نظرًا لأنها حالات حدية، فمن غير المحتمل أن تثيرها التطبيقات.

ملاحظة: إذا حصلت على الكثير من الأخطاء في Gia64-test-nat و Lia64-test-nat، فمن شبه المؤكد أنها علامة على وجود مُجمّع قديم. كان مُجمّع GNU يُشفّر إزاحات متعلقة بمؤشر المكدس السابق بشكل غير صحيح. تم إصلاح هذا الخطأ في 21-Sep-2004، لذا فإن أي مُجمّع لاحق سيكون جيدًا.

** النتائج المتوقعة على x86 Linux

من المتوقع فشل الاختبارات التالية على x86 Linux:

root@kitploit:~
Gtest-resume-sig	(يفشل في الحصول على SIGUSR2)
Ltest-resume-sig	(وبالمثل)
Gtest-dyn1		(لا يوجد دعم لمعلومات فك الترجمة الديناميكي بعد)
Ltest-dyn1		(لا يوجد دعم لمعلومات فك الترجمة الديناميكي بعد)
test-setjmp		(longjmp() لم يتم تنفيذه بعد)
run-check-namespace	(لا يوجد _Ux86_getcontext بعد)
test-ptrace

** النتائج المتوقعة على x86-64 Linux

من المتوقع فشل الاختبارات التالية على x86-64 Linux:

root@kitploit:~
Gtest-dyn1		(لا يوجد دعم لمعلومات فك الترجمة الديناميكي بعد)
Ltest-dyn1		(لا يوجد دعم لمعلومات فك الترجمة الديناميكي بعد)
Gtest-init (انظر http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18743)
Ltest-init		(وبالمثل)
test-async-sig		(يتعطل بسبب معلومات فك ترجمة سيئة؟)
test-setjmp		(longjmp() لم يتم تنفيذه بعد)
run-check-namespace	(لا يوجد _Ux86_64_getcontext بعد)
run-ptrace-mapper	(??? تحقق)
run-ptrace-misc	(انظر http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18748
		 و http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18749)

** النتائج المتوقعة على PARISC Linux

ملاحظة: مطلوب GCC v3.4 أو أحدث على PA-RISC Linux. فشلت الإصدارات الأقدم من المترجم في توليد رأس برنامج معالجة الاستثناءات (GNU_EH_FRAME) اللازم لفك الترجمة.

من المتوقع فشل الاختبارات التالية على x86-64 Linux:

root@kitploit:~
Gtest-bt   (اقتطاع التتبع العكسي عند kill() بسبب نقص معلومات فك الترجمة)
Ltest-bt   (وبالمثل)
Gtest-resume-sig  (Gresume.c:my_rt_sigreturn() خطأ بطريقة ما)
Ltest-resume-sig  (وبالمثل)
Gtest-init (وبالمثل)
Ltest-init (وبالمثل)
Gtest-dyn1 (لا يوجد دعم لمعلومات فك الترجمة الديناميكي بعد)
Ltest-dyn1 (لا يوجد دعم لمعلومات فك الترجمة الديناميكي بعد)
test-setjmp		(longjmp() لم يتم تنفيذه بعد)
run-check-namespace	(سلسلة الأدوات لا تدعم HIDDEN بعد)

** النتائج المتوقعة على HP-UX

"make check" غير مدعوم حاليًا على HP-UX. يمكنك محاولة تشغيله، لكن معظم الاختبارات ستفشل (وقد يفشل البعض في الإنهاء). برامج الاختبار الوحيدة المعروفة بأنها تعمل في هذا الوقت هي:

root@kitploit:~
 tests/bt
 tests/Gperf-simple
 tests/test-proc-info
 tests/test-static-link
 tests/Gtest-init
 tests/Ltest-init
 tests/Gtest-resume-sig
 tests/Ltest-resume-sig

** النتائج المتوقعة على PPC64 Linux

يجب أن يعمل "make check" مع فشل ما لا يزيد عن 10 من أصل 24 اختبارًا.

  • اختبارات الأداء

تتضمن هذه الحزمة عددًا قليلاً من اختبارات الأداء البسيطة التي تعطي فكرة عن التكلفة الأساسية للعمليات المختلفة في libunwind. بعد بناء المكتبة، يمكنك تشغيل هذه الاختبارات باستخدام الأوامر التالية:

$ cd tests $ make perf

  • الاتصال بالمطورين

يرجى توجيه جميع الأسئلة المتعلقة بهذه المكتبة إلى:

root@kitploit:~
[email protected]

يمكنك القيام بذلك عن طريق إرسال بريد إلكتروني إلى [email protected] مع نص:

root@kitploit:~
subscribe libunwind-devel

أو يمكنك الاشتراك وإدارة اشتراكك عبر واجهة الويب على:

root@kitploit:~
https://savannah.nongnu.org/mail/?group=libunwind
تنزيل الأداة