GEF (GDB Enhanced Features) - تجربة حديثة لـ GDB مع قدرات تصحيح متقدمة لمطوري الاستغلال ومهندسي الهندسة العكسية على لينكس
GEF (يُنطق ʤɛf - "Jeff") هي مجموعة أوامر للمعماريات x86/64, ARM, MIPS, PowerPC و SPARC تساعد مطوري الاستغلال ومهندسي الهندسة العكسية عند استخدام GDB التقليدي. توفر ميزات إضافية لـ GDB باستخدام واجهة برمجة تطبيقات Python للمساعدة أثناء عملية التحليل الديناميكي وتطوير الاستغلال. سيستفيد منها أيضًا مطورو التطبيقات، حيث أنها ترفع جزءًا كبيرًا من غموض GDB المعتاد، وتجنب تكرار الأوامر التقليدية، وتبرز المعلومات ذات الصلة من بيئة التصحيح.
ببساطة تأكد من أن لديك GDB 10.0 أو أحدث مُجمّع مع روابط Python3.10+، ثم:
# via the install script
## using curl
$ bash -c "$(curl -fsSL https://gef.blah.cat/sh)"
## using wget
$ bash -c "$(wget https://gef.blah.cat/sh -O -)"
# or manually
$ wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py
$ echo source ~/.gdbinit-gef.py >> ~/.gdbinit
# or alternatively from inside gdb directly
$ gdb -q
(gdb) pi import urllib.request as u, tempfile as t; g=t.NamedTemporaryFile(suffix='-gef.py'); open(g.name, 'wb+').write(u.urlopen('https://tinyurl.com/gef-main').read()); gdb.execute('source %s' % g.name)
يمكنك أن ترى فورًا أن GEF مثبتة بشكل صحيح عن طريق تشغيل GDB:

بعض ميزات GEF تشمل:
GEF مكتفية بذاتها وقابلة للتثبيت فورًاgef-legacy).اطلع على صفحة لقطات الشاشة لمزيد من التفاصيل أو جرّبها عبر الإنترنت (المستخدم: gef/كلمة المرور: gef-demo)
على عكس إضافات GDB الأخرى، تمتلك GEF توثيقًا واسعًا ومُحدّثًا. يُنصح المستخدمون بالرجوع إليه لأنه قد يساعدهم في محاولاتهم استخدام GEF. على وجه الخصوص، يجب على المستخدمين الجدد التصفح عبره (انظر الأسئلة الشائعة للمشكلات الشائعة في التثبيت)، وإذا استمرت المشكلة، حاول التواصل للحصول على المساعدة عبر قناة Discord أو تقديم مشكلة.
للمشاركة، راجع وثائق المساهمة والإرشادات للبدء.
طريقة أخرى للمساهمة في إبقاء المشروع حيًا هي عبر رعايته! اطّلع على وثائق الرعاية للحصول على التفاصيل لتكون جزءًا من قائمة هؤلاء الرعاة الرائعين.