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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gdb-frontend — ☕ GDBFrontend هو مصحح أخطاء رسومي سهل ومرن وقابل للتوسيع. | Kitploit
أدوات/GitHubGitHub/rohanrhu/gdb-frontend
الهندسة العكسيةمصممي الأخطاءتحليل الملفات الثنائيةالتعلم والتعليم
GitHubrohanrhu/gdb-frontend

gdb-frontend

☕ GDBFrontend هو مصحح أخطاء رسومي سهل ومرن وقابل للتوسيع.

عرض المستودع
3.0k112منذ 9 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

GDBFrontend

GitHub release GitHub issues GitHub forks GitHub stars GDBFrontend Discord Support me on Patreon

GDBFrontend هو مصحح واجهة مستخدم رسومية سهل ومرن وقابل للتوسيع.

gdb-frontend

التثبيت

المتطلبات

  • GDB => 8.2 (with python3)
  • python3 => 3.6
  • tmux

حزمة PIP (Python Wheel) [موصى بها]

يمكنك تثبيت GDBFrontend باستخدام pip.

root@kitploit:~
sudo python3 -m pip install gdbfrontend

إذا كان مثبتًا بالفعل وكنت تقوم بالترقية:

root@kitploit:~
sudo python3 -m pip install --upgrade gdbfrontend

أو إذا كنت ترغب في تثبيت لقطة GIT محددة:

root@kitploit:~
sudo python3 setup.py install

ويمكنك تشغيل:

root@kitploit:~
gdbfrontend

التشغيل من GIT

يمكنك تنزيل أحدث مصدر وتشغيله.

يمكنك تشغيل gdb-frontend بالأوامر التالية:

root@kitploit:~
git clone https://github.com/rohanrhu/gdb-frontend.git gdb-frontend
cd gdb-frontend
./gdbfrontend

ويمكنك فتحه باستخدام:

root@kitploit:~
http://127.0.0.1:5550/

يمكنك فتح واجهة GDB shell باستخدام الأمر:

root@kitploit:~
tmux a -t gdb-frontend

Arch Linux (AUR)

يمكنك تثبيت حزمة Arch Linux للتوزيعات المبنية على Arch. (AUR Package)

root@kitploit:~
yay -S gdb-frontend-bin

ويمكنك تشغيله:

root@kitploit:~
gdbfrontend

Flatpak

حزمة Flatpak هي TODO.

تصحيح تطبيقات C/C++ المحوَّمة باستخدام GDBFrontend

اتبع هذا البرنامج التعليمي لتعلم كيفية تصحيح تطبيقات C/C++ المحوَّمة باستخدام GDBFrontend.

تصحيح الأنظمة المضمنة باستخدام GDBFrontend

اتبع هذا البرنامج التعليمي السريع لتصحيح الأجهزة المضمنة باستخدام GDBFrontend.

تصحيح امتدادات C لـ Python باستخدام GDBFrontend

اتبع هذا البرنامج التعليمي السريع لتصحيح امتدادات C الأصلية لـ Python باستخدام GDBFrontend.

كيفية تطوير إضافات GDBFrontend؟

GDBFrontend لديه واجهات برمجة تطبيقات قوية وقابلة للتوسيع. اتبع هذا البرنامج التعليمي السريع لتعلم تطوير إضافات GDBFrontend.

كيفية دمج GDBFrontend مع Makefile الخاص بك؟

اتبع هذا البرنامج التعليمي السريع للحصول على أفكار تكامل لمتطلبات التطوير/التصحيح الخاصة.

تصحيح STM32 باستخدام OpenOCD و GDB و GDBFrontend على Linux

اتبع هذا البرنامج التعليمي لتصحيح STM32 باستخدام OpenOCD و GDBFrontend.

الميزات

مُقدِّر التعبيرات (Expression Evaluator)

GDBFrontend يحتوي على مُقدِّر تعبيرات يمكنك استخدام عدة منه في نفس الوقت.

تصور المؤشرات (Pointer Visualisation)

تصور القوائم المرتبطة (Linked-List Visualization)

نقاط التوقف الشرطية (Conditional Breakpoints)

انقر بزر الماوس الأيمن على نقطة توقف لتعيين شرطها.

التعبيرات المتصلة (Connected Expressions)

جميع تعابير المتغيرات والأعضاء والعناصر متصلة في مستكشف المتغيرات VariablesExplorer في GDBFrontend.

مدير العمليات (Process Manager)

يمكنك مراقبة العمليات أو تصفيتها أو إدارتها باستخدام مدير العمليات.

تصور المصفوفات البياني (Array-Graph Visualization)

التعاون المحسَّن (Enhanced Collabration)

GDBFrontend يحتوي على مجموعة من الميزات للتعاون تسمى "Enhanced Collabration".

الرسم التعاوني (Collabration Draw)

الرسم التعاوني متاح عند تمكين Enhanced Collabration. انقر على Draw أو استخدم الاختصار Ctrl + Shift + X للرسم و Ctrl + Shift + C لمسح جميع الرسومات.

عرض المصدر المتزامن (Synced Source Viewing)

مع Enhanced Collabration يتم مزامنة جميع عملاء المصحح في عرض المصدر.

مستكشف متغيرات منبثق عند التمرير فوق التعبير

القابلية للتوسيع (Extensibility)

GDBFrontend قابل للتوسيع بشكل كبير وله واجهات برمجة تطبيقات قوية. بعض الأمثلة على قابلية توسيع GDBFrontend.

./gdbfrontend

root@kitploit:~
$ gdbfrontend --help
GDBFrontend is a easy, flexible and extensionable gui debugger.

Options:
  --help, -h:                                   Shows this help message.
  --version, -v:                                Shows version.
  --gdb-args="ARGS", -G "ARGS":                 Specifies GDB command line arguments. (Optional)
  --gdb-executable=PATH, -g PATH:               Specifies GDB executable path (Default is "gdb" command on PATH environment variable.)
  --tmux-executable=PATH, -tmux PATH:           Specifies Tmux executable path (Default is "tmux" command on PATH environment variable.)
  --terminal-id=NAME, -t NAME:                  Specifies tmux terminal identifier name (Default is "gdb-frontend".)
  --credentials=USER:PASS, -c USER:PASS:        Specifies username and password for accessing to debugger.
  --host=IP, -H IP:                             Specifies current host address that you can access via for HTTP and WS servers.
  --listen=IP, -l IP:                           Specifies listen address for HTTP and WS servers.
  --port=PORT, -p PORT:                         Specifies HTTP port. (0 for random port.)
  --url-base=PATH, -u PATH:                     Specifies URL base path. (Default: /)
  --readonly, -r:                               Makes code editor readonly. (Notice: This option is not related to security.)
  --workdir, -w:                                Specifies working directory.
  --plugin-dir, -P:                             Specifies plugins directory.
  --dontopenuionstartup, -D:                    Avoids opening UI just after startup.
  --verbose, -V:                                Enables verbose output.

الخيارات

--help, -h

يعرض نص المساعدة.

--version, -v

يعرض الإصدار.

--gdb-args="ARGS", -G "ARGS"

يحدد وسائط سطر أوامر GDB. (اختياري)

--gdb-executable=PATH, -g PATH

يمكنك تحديد مسار ملف GDB القابل للتنفيذ مثل gdbfrontend --gdb-executable=/path/to/gdb. (اختياري)

--tmux-executable=PATH, -tmux PATH

يمكنك تحديد مسار ملف Tmux القابل للتنفيذ مثل gdbfrontend --tmux-executable=/path/to/tmux. (اختياري)

--terminal-id=PATH, -t PATH

يمكنك تحديد معرف طرفية Tmux مثل gdbfrontend --terminal-id=terminal-name. (الافتراضي: gdb-frontend)

--credentials=USER:PASS, -c USER:PASS

يحدد اسم المستخدم وكلمة المرور للوصول إلى المصحح.

--host=IP, -H IP

يحدد عنوان المضيف الحالي الذي يمكنك الوصول إليه عبر خوادم HTTP و WS.

--listen=IP, -l IP

يحدد عنوان الاستماع لخوادم HTTP و WS.

--port=PORT, -p PORT

يحدد منفذ HTTP. (0 لمنفذ عشوائي)

--url-base=PATH, -u PATH

يحدد مسار قاعدة URL. (الافتراضي: /)

--readonly, -r

يجعل محرر النصوص للقراءة فقط. (ملاحظة: هذا الخيار لا يتعلق بالأمان.)

--workdir, -w

يحدد دليل العمل.

--plugin-dir, -P

يحدد دليل الإضافات.

--dontopenuionstartup, -D

يتجنب فتح واجهة المستخدم بعد بدء التشغيل مباشرة.

--verbose, -V

يفعّل الإخراج المفصل.

أوامر GDB

أوامر GDB الخاصة بـ GDBFrontend تبدأ بـ gf-.

gf-refresh

ينعش جميع عملاء المتصفح.

gf-theme [theme-name]

التبديل إلى السمة المطلوبة. مثال: gf-theme light, gf-theme red أو gf-theme default للسمة الافتراضية.

gf-list-plugins

يسرد جميع إضافات GDBFrontend في دليل الإضافات.

gf-load-plugin [plugin-name]

تحميل إضافة GDBFrontend.

gf-unload-plugin [plugin-name]

إلغاء تحميل إضافة GDBFrontend.

الاختصارات / مفاتيح التشغيل السريع

مفاتيح التشغيل السريع الحالية مدرجة أدناه.

السمات

GDBFrontend يحتوي على سمات مدمجة.

للتبديل بين السمات استخدم الأمر gf-theme [THEME] في واجهة GDB shell.

root@kitploit:~
(gdb) gf-theme doki
(gdb) gf-theme sky
(gdb) gf-theme sakura
(gdb) gf-theme waifu
(gdb) gf-theme cyberpunk
(gdb) gf-theme dark
(gdb) gf-theme green
(gdb) gf-theme light
(gdb) gf-theme red

للعودة إلى السمة الافتراضية.

root@kitploit:~
(gdb) gf-theme

أيضًا قد ترغب في الاطلاع على البرنامج التعليمي لتطوير الإضافات.

واجهة برمجة تطبيقات Python لـ GDBFrontend

يمكنك الوصول إلى واجهة برمجة تطبيقات Python الخاصة بـ GDBFrontend عبر الوحدة gdbfrontend.

root@kitploit:~
(gdb) python-interactive
root@kitploit:~
>>> dir(gdbfrontend)

على سبيل المثال، يمكنك الحصول على جميع مآخذ العملاء هكذا:

root@kitploit:~
>>> gdbfrontend.api.globalvars.httpServer.ws_clients
{1: <server.GDBFrontendSocket object at 0x...>}

أو يمكنك الحصول على جميع الإضافات:

root@kitploit:~
>>> gdbfrontend.plugin.getAll()
['hello', 'theme_cyberpunk', 'theme_dark', 'theme_doki', 'theme_green', 'theme_light', 'theme_red', 'theme_sakura', 'theme_sky', 'theme_waifu']

الأمان عند مشاركة الجلسات

يمكنك استخدام الخيار --credentials=USER:PASS لإضافة مصادقة HTTP إلى جلسة المصحح الخاصة بك.

توافق المتصفح

يتم تطوير GDBFrontend بشكل أساسي مع الاختبار على المتصفحات المبنية على Chromium. سيعمل بشكل صحيح مع المتصفحات الأخرى خاصةً Firefox، ولكن إذا واجهت بعض المشكلات على المتصفحات الأخرى، يمكنك إرسال تقرير خطأ.

استكشاف الأخطاء وإصلاحها

حظر GDB shell/الخيط الرئيسي

معظم وظائف GDBFrontend آمنة للخيوط وتعمل على الخيط الرئيسي لـ GDB. لذلك، إذا قمت بتشغيل شيء يحظر على واجهة GDB shell، يجب على وظائف GDBFrontend الانتظار حتى ينتهي.

ستتلقى هذا التحذير عندما تحتاج وظيفة GDBFrontend الآمنة للخيوط إلى العمل وأنت تحظر الخيط الرئيسي لـ GDB.

root@kitploit:~
(gdb) shell
$ ...

عند الخروج من shell، ستستمر وظائف GDBFrontend المحظورة في العمل.

ملاحظة: في بعض الأحيان قد تتلقى هذا التحذير دون تشغيل أي شيء في GDB shell، وهذا يعني أن شيئًا ما (في حلقة أحداث GDB) يستغرق وقتًا طويلاً؛ في هذه الحالة تجاهل هذا التحذير.

العمليات الزومبي

GDBFrontend يرسل SIGTERM إلى عملياته الفرعية وتطبيقك وعملياته الفرعية. إذا كان تطبيقك يقوم بتفريع عمليات جديدة وتعيين PGIDs الخاصة بها، فقد لا يغلقها GDBFrontend. في هذه الحالة، يجب عليك إرسال SIGKILL إلى عملياتك.

root@kitploit:~
pkill -f gdb

نصائح أداء مُقدِّر التعبيرات

إذا كنت تستخدم ExpressionEvaluator مع متغيرات/أعضاء موسعة ذات عمق كبير جدًا، فقد يتأثر أداء التمرير وحركة نافذة المُقدِّر سلبًا لتصور المؤشر. في هذه الحالة، يمكنك إيقاف تشغيل توجيهات signal و slot لنافذة المُقدِّر تلك.

أزرار توجيه مُقدِّر المؤشر

المشكلات والنصائح المتعلقة بـ GDB

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

Windows

في الواقع، gdb-frontend قادر على العمل على Windows ولكن هناك بعض المشكلات الخطيرة في إصدار Windows من GDB تمنع استخدام gdb-frontend على Windows. بالطبع يمكنك استخدام gdb-frontend على WSL إذا كنت تستخدم Windows 10.

مشكلات حول Windows-GDB

  • يتم حظر الخيط الرئيسي لـ GDB أثناء تشغيل العملية. (لدى gdb-frontend آلية مقاطعة لإصلاح هذا ولكنها ليست كافية بعد.)
  • يُحظر موجه Windows-GDB أثناء تشغيل العملية وهناك بعض المشكلات حول مقاطعة التطبيق.

WSL

يمكنك استخدام gdb-frontend على WSL (Windows Subsystem for Linux).

مشكلات حول WSL

  • على WSL 1، خيار المنفذ العشوائي غير قابل للاستخدام على WSL لأن واجهة /proc/net/tcp لا تعمل على WSL. (لا يعاني WSL 2 من هذه المشكلة.)

الإصدارات

منذ v0.2.0-beta، تحول GDBFrontend إلى استراتيجية إصدار جديدة.

قراءة الإصدارات

في vX.Y.Z-STABILITY:

  • X هو الإصدار الرئيسي، يتغير على المدى الطويل مع الميزات والتحسينات الكبيرة.
  • Y هو الإصدار الرئيسي الذي يتضمن ميزات وتحسينات جديدة.
  • Z هو إصدار إصلاحات الأخطاء للإصدارات الرئيسية.
  • STABILITY هو مستوى استقرار الإصدار. (alpha, beta, rcN, stable)

التوثيق

التوثيق لا يزال TODO.

توثيق واجهة برمجة التطبيقات

توثيق واجهة برمجة التطبيقات لا يزال TODO.

تطوير الإضافات

يمكنك قراءة البرنامج التعليمي لتطوير الإضافات.

تطوير السمات

يتم تطوير السمات كإضافات.

Discord

انضم إلى مجتمع Discord.

GDBFrontend Discord

🎊 المساهمة

يمكنك المساهمة بالالتزام بالمشروع أو تطوير إضافة. جميع الالتزامات مرحب بها.

دليل المساهمة

❤️ التبرع

  • Patreon
  • GitHub Sponsors

تبرعات العملات المشفرة

العملةالعنوان
BTCbc1qhvlc762kwuzeawedl9a8z0duhs8449nwwc35e2
ETH / USDT / USDC0x1D99B2a2D85C34d478dD8519792e82B18f861974
XMR88qvS4sfUnLZ7nehFrz3PG1pWovvEgprcUhkmVLaiL8PVAFgfHjspjKPLhWLj3DUcm92rwNQENbJ1ZbvESdukWvh3epBUty

يُفضل التبرع بـ USDT أو USDC، ولكن يمكنك التبرع بأي من العملات المذكورة أعلاه. 🥳

الرخصة

Copyright (C) 2019, Oğuzhan Eroğlu [email protected] (https://oguzhaneroglu.com/)

GNU General Public License v3 (GPL-3)

يمكنك نسخ وتوزيع وتعديل البرنامج طالما تتبعت التغييرات/التواريخ في ملفات المصدر. يجب أيضًا أن تكون أي تعديلات على البرنامج أو البرامج التي تتضمن (عبر المترجم) كودًا مرخصًا بموجب GPL متاحة بموجب GPL بالإضافة إلى تعليمات البناء والتثبيت.

تنزيل الأداة
الإجراءالمفتاحالسياق
عام: افتح ملف مصدرCtrl + OGDBFrontend
عام: مُقدِّر تعبيرات جديدCtrl + RGDBFrontend
عام: مُقدِّر تعبيرات جديد في نافذة أصليةCtrl + Shift + RGDBFrontend
عام: باحث غامض عن المصادرCtrl + PGDBFrontend
وقت التشغيل: تشغيلF5GDBFrontend
وقت التشغيل: متابعةF6GDBFrontend
وقت التشغيل: إيقاف مؤقت/مقاطعةF7GDBFrontend
وقت التشغيل: تخطي خطوةF8GDBFrontend
وقت التشغيل: الدخول إلى خطوةF9GDBFrontend
وقت التشغيل: تعليمة خطوةF10GDBFrontend
وقت التشغيل: إيقافF11GDBFrontend
التعاون المحسَّن: تبديل وضع الرسمCtrl + Shift + XGDBFrontend / Enhanced Collabration: Enabled
التعاون المحسَّن: مسح جميع الرسوماتCtrl + Shift + CGDBFrontend / Enhanced Collabration: Enabled