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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Ghidrathon — امتداد مفتوح المصدر من فريق FLARE لإضافة دعم البرمجة النصية بلغة Python 3 إلى Ghidra. | Kitploit
أدوات/GitHubGitHub/mandiant/ghidrathon
الهندسة العكسيةالبرمجة النصية والأتمتةتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةArchived
GitHubmandiant/ghidrathon

Ghidrathon

امتداد مفتوح المصدر من فريق FLARE لإضافة دعم البرمجة النصية بلغة Python 3 إلى Ghidra.

عرض المستودع
78865منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Ghidrathon

GitHub Release GitHub Downloads (all assets, latest release) CI License

Ghidrathon هي إضافة لـ Ghidra تضيف إمكانيات البرمجة النصية بلغة Python 3 إلى Ghidra. لماذا؟ يدعم Ghidra البرمجة النصية بشكل أصلي بلغتي Java وJython. لسوء الحظ، فإن العديد من أدوات التحليل مفتوحة المصدر، مثل capa وUnicorn Engine وangr وغيرها، مكتوبة بلغة Python 3، مما يجعل استخدام هذه الأدوات في Ghidra صعبًا، وفي بعض الحالات مستحيلًا. والأكثر من ذلك، أصدر مجتمع الأمن العديد من الإضافات الرائعة لأطر عمل SRE أخرى مثل IDA Pro وBinary Ninja، ولكن مرة أخرى، نظرًا لأن العديد من هذه الإضافات تستخدم Python 3، فمن الصعب نقلها إلى Ghidra. تساعدك Ghidrathon على استخدام الأدوات الحالية وتطوير أدوات جديدة بلغة Python 3 في Ghidra، وكتابة البرامج النصية لـ Ghidra باستخدام Python حديثة بطريقة تتكامل بإحكام مع واجهة مستخدم Ghidra. تستبدل الإضافة القائمة على Python 2.7 والمنفذة عبر Jython. ويشمل ذلك نافذة المفسّر التفاعلية، والتكامل مع Ghidra Script Manager، وتنفيذ البرامج النصية في وضع headless في Ghidra.

مثال

يرجى الاطلاع على مثالنا للبرنامج النصي بلغة Python 3 الخاص بـ Ghidra هنا لإلقاء نظرة أقرب على كتابة البرامج النصية بلغة Python 3 لـ Ghidra.

اطّلع على:

  • النظرة العامة في مقال مدونتنا الأول عن Ghidrathon

تثبيت Ghidrathon

المتطلبات

استخدم الخطوات التالية لتثبيت Ghidrathon في بيئة Ghidra الخاصة بك:

  1. قم بتنزيل وفك ضغط أحدث إصدار من Ghidrathon
  2. نفّذ الأوامر التالية باستخدام مفسّر Python الذي ترغب في استخدامه مع Ghidrathon (يتم تضمين requirements.txt وghidrathon_configure.py في الإصدار):
root@kitploit:~
$ python -m pip install -r requirements.txt
$ python ghidrathon_configure.py <absolute_path_to_ghidra_install_dir>

ملاحظة: يحاول ghidrathon_configure.py افتراضيًا كتابة ملف باسم ghidrathon.save في <absolute_path_to_ghidra_install_dir>. يمكنك تحديد المسار الذي يُكتب فيه هذا الملف عن طريق تعيين متغير البيئة GHIDRATHON_SAVE_PATH قبل تشغيل ghidrathon_configure.py وGhidra:

root@kitploit:~
$ export GHIDRATHON_SAVE_PATH="/path/to/custom/dir" # Linux/MacOS
$ set GHIDRATHON_SAVE_PATH="C:\path\to\custom\dir"  # Windows

ملاحظة: قد يُطلب منك تعيين متغير بيئة باسم JAVA_HOME. يجب أن يشير هذا إلى المسار المطلق لـ JDK الذي قمت بتكوينه لتثبيت Ghidra الخاص بك.

  1. قم بتثبيت إضافة Ghidrathon (.zip) في Ghidra:
    • باستخدام واجهة مستخدم Ghidra:
      • انتقل إلى File > Install Extensions...
      • انقر على الزر + الأخضر
      • انتقل إلى إضافة Ghidrathon (.zip)
      • انقر على Ok
      • اختياري
        • اختر Install Anyway إذا طُلب منك ذلك بواسطة نافذة Extension Version Mismatch
    • باستخدام بيئة محدودة:
      • استخرج إضافة Ghidrathon (.zip) إلى <absolute_path_to_ghidra_install_dir>\Ghidra\Extensions

تبديل مفسّرات Python

يمكنك تبديل Ghidrathon لاستخدام مفسّر Python مختلف عن طريق تنفيذ الخطوة 2 باستخدام مفسّر Python الجديد.

استخدام البيئات الافتراضية لـ Python

يمكنك استخدام بيئة افتراضية لـ Python مع Ghidrathon عن طريق تنفيذ الخطوة 2 من البيئة الافتراضية. للتبديل إلى بيئة افتراضية مختلفة، ما عليك سوى تنفيذ الخطوة 2 من البيئة الافتراضية الجديدة.

استخدام Ghidrathon

نافذة مفسّر Python 3

توفر نافذة المفسّر وصولاً تفاعليًا إلى مفسّر Python 3 الخاص بك. انقر على "Window" واختر "Ghidrathon" لفتح نافذة المفسّر.

مثال

التكامل مع Ghidra Script Manager

تتكامل Ghidrathon مباشرة مع Ghidra Script Manager مما يتيح لك إنشاء وتحرير وتنفيذ البرامج النصية بلغة Python 3 داخل Ghidra. انقر على "Create New Script" واختر "Python 3" لإنشاء برنامج نصي جديد بلغة Python 3. انقر على "Run Script" أو "Run Editors's Script" لتنفيذ البرنامج النصي بلغة Python 3 وتحقق من نافذة Ghidra Console لعرض مخرجات البرنامج النصي.

مثال

وضع headless في Ghidra

تساعدك Ghidrathon على تنفيذ البرامج النصية بلغة Python 3 في وضع headless في Ghidra. نفّذ البرنامج النصي analyzeHeadless الموجود في مجلد تثبيت Ghidra الخاص بك، وحدد البرنامج النصي بلغة Python 3، وتحقق من نافذة وحدة التحكم لعرض مخرجات البرنامج النصي.

root@kitploit:~
$ analyzeHeadless C:\Users\wampus example -process example.o -postScript ghidrathon_example.py
[...]
INFO  SCRIPT: C:\Users\wampus\.ghidra\.ghidra_10.0.3_PUBLIC\Extensions\Ghidrathon-master\ghidra_scripts\ghidrathon_example.py (HeadlessAnalyzer)
Function _init @ 0x101000: 3 blocks, 8 instructions
Function FUN_00101020 @ 0x101020: 1 blocks, 2 instructions
Function __cxa_finalize @ 0x101040: 1 blocks, 2 instructions
Function printf @ 0x101050: 1 blocks, 2 instructions
Function _start @ 0x101060: 1 blocks, 13 instructions
Function deregister_tm_clones @ 0x101090: 4 blocks, 9 instructions
Function register_tm_clones @ 0x1010c0: 4 blocks, 14 instructions
Function __do_global_dtors_aux @ 0x101100: 5 blocks, 14 instructions
[...]
INFO  REPORT: Post-analysis succeeded for file: /example.o (HeadlessAnalyzer)
INFO  REPORT: Save succeeded for processed file: /example.o (HeadlessAnalyzer)

لمزيد من المعلومات حول تشغيل Ghidra في وضع headless، راجع <absolute_path_to_ghidra_install_dir>/support/analyzeHeadlessREADME.html.

وحدات Python من جهات خارجية

كان أحد أكبر دوافعنا لتطوير Ghidrathon هو تمكين استخدام وحدات Python 3 من جهات خارجية في Ghidra. يمكنك تثبيت وحدة والبدء في استخدامها داخل Ghidra تمامًا كما تفعل في إعداد Python نموذجي. وينطبق هذا أيضًا على الوحدات التي قمت بتثبيتها مسبقًا. على سبيل المثال، يمكننا تثبيت واستخدام Unicorn لمحاكاة كود ARM داخل Ghidra.

مثال

كتابة البرامج النصية بلغة Python 3 لـ Ghidra

توفر Ghidrathon تجربة برمجة نصية تحاكي عن كثب إضافتي Java وJython الخاصتين بـ Ghidra، والتي تتضمن جعل متغيرات الحالة لمثيل GhidraScript، مثل currentProgram، وطرق FlatProgramAPI، مثل findBytes، متاحة في نطاق builtins الخاص بـ Python. وهذا يعني أن جميع وحدات Python التي يستوردها الكود الخاص بك لديها حق الوصول إلى هذه المتغيرات والطرق. تختلف Ghidrathon قليلاً عن إضافتي Java وJython الخاصتين بـ Ghidra من خلال كشف متغيرات حالة GhidraScript كاستدعاءات لدوال Python بدلاً من الوصول المباشر، على سبيل المثال، يجب أن يصل الكود الخاص بك بلغة Python 3 إلى currentProgram باستخدام استدعاء الدالة currentProgram(). يضمن هذا التغيير الصغير تزويد الكود الخاص بك بلغة Python 3 بمتغيرات حالة GhidraScript الصحيحة أثناء التنفيذ. يرجى الاطلاع على مثالنا للبرنامج النصي بلغة Python 3 الخاص بـ Ghidra هنا لإلقاء نظرة أقرب على كتابة البرامج النصية بلغة Python 3 لـ Ghidra.

كيف يعمل؟

تربط Ghidrathon تثبيت Python المحلي لديك بـ Ghidra باستخدام المشروع مفتوح المصدر Jep. في الأساس، يعمل مفسّر Python المحلي لديك داخل Ghidra مع إمكانية الوصول إلى جميع حزم Python الخاصة بك و واجهة برمجة التطبيقات القياسية للبرمجة النصية في Ghidra. تعمل Ghidrathon أيضًا مع البيئات الافتراضية لـ Python، مما يساعدك على إنشاء وعزل وإدارة الحزم التي قد ترغب في تثبيتها فقط لاستخدامها في Ghidra. نظرًا لأن Ghidrathon تستخدم تثبيت Python المحلي لديك، فلديك التحكم في إصدار Python والبيئة التي تعمل داخل Ghidra.

لمزيد من المعلومات حول كيفية عمل Jep لتضمين Python في Java، راجع وثائقهم هنا.

اعتبارات

تستخدم Ghidrathon المكتبة مفتوحة المصدر Jep التي تستخدم Java Native Interface (JNI) لتضمين Python في JVM. ينصح مطورو Ghidra بعدم استخدام JNI في Ghidra للأسباب التي تمت مناقشتها هنا.

تنزيل الأداة
الأداةالإصدارالمصدر
Ghidrathon>= 4.0.0https://github.com/mandiant/Ghidrathon/releases
Python>= 3.8.0https://www.python.org/downloads
Jep== 4.2.0https://pypi.org/project/jep
Ghidra>= 10.3.2https://github.com/NationalSecurityAgency/ghidra/releases
Java>= 17.0.0https://adoptium.net/temurin/releases