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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SHGenOb — أداة تعتمد على Python لإنشاء Shellcode من PIC C | Kitploit
أدوات/GitHubGitHub/oldboy21/shgenob
أدوات التشفير/فك التشفيرتوليد الحمولةالاستغلالشيل كودتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةالتعلم والتعليمتوليد شيفرة القشرة
GitHuboldboy21/shgenob

SHGenOb

أداة تعتمد على Python لإنشاء Shellcode من PIC C

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

الأكثر شعبية

عرض الكل →

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

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

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

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

SHGenOB: مولد شيلكود من كود C مستقل عن الموقع

مقدمة

SHGenOB هي أداة مبنية على بايثون مصممة لتوليد شيلكود من كود C مستقل عن الموقع (PIC). تقوم بأتمتة عملية ترجمة كود C، واستخراج مقطع .text، وتشفير الشيلكود الناتج اختياريًا باستخدام تشفير XOR.

يعتمد هذا المشروع بالكامل على هذا المستند من hasherezade.

الكود المستقل عن الموقع (PIC)

ملاحظة هامة لمستخدمي SHGenOB: لكي تعمل أداة توليد الشيلكود هذه بشكل صحيح، يجب أن يكون كود C في ملف الإدخال مكتوبًا ككود مستقل عن الموقع (PIC). تفترض الأداة أن الكود المقدم يتبع مبادئ وخصائص PIC الموضحة أدناه.

الكود المستقل عن الموقع (PIC) هو نوع من كود الآلة يمكن تنفيذه بغض النظر عن عنوان ذاكرته المطلق. هذه الخاصية تجعل PIC مفيدًا بشكل خاص في إنشاء الشيلكود والمكتبات المشتركة وبعض أنواع البرامج الضارة. تشمل الميزات الرئيسية لـ PIC ما يلي:

  • الاستقلال عن العنوان: يمكن تشغيل PIC بشكل صحيح بغض النظر عن مكان تحميله في الذاكرة.
  • عدم وجود مراجع ذاكرة ثابتة: يتجنب استخدام العناوين المطلقة، معتمدًا بدلاً من ذلك على العنونة النسبية أو تقنيات أخرى للإشارة إلى مواقع الذاكرة.
  • الاكتفاء الذاتي: يتضمن PIC عادةً جميع البيانات الضرورية داخل الكود نفسه، مما يقلل من التبعيات الخارجية.
  • سلاسل المكدس: إعلان السلاسل كمصفوفة من الأحرف يجبر المترجم على دفعها في المكدس وليس في مقطع .data أو .pdata من ملف PE.
  • خالٍ من النقل: لا يتطلب من المحمل إجراء عمليات النقل، مما يجعله أسرع في التحميل والتنفيذ.
  • حجم أصغر: غالبًا ما ينتج عن PIC أحجام ثنائية أصغر مقارنة بالكود المعتمد على الموقع.
  • العنونة النسبية للسجلات: يستخدم بشكل متكرر العنونة النسبية للسجلات للوصول إلى البيانات وتنفيذ القفزات.
  • استخدام الإزاحات: بدلاً من العناوين المطلقة، يستخدم PIC إزاحات من عداد التعليمات الحالي.
  • تقنيات خاصة بالمنصة: قد تتطلب بنى CPU المختلفة تقنيات مختلفة لتحقيق الاستقلال عن الموقع.

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

الميزات

  • ترجمة كود C مستقل عن الموقع باستخدام أدوات Microsoft Visual Studio
  • استخراج مقطع .text من الملف التنفيذي المترجم
  • تشفير الشيلكود اختياريًا باستخدام تشفير XOR
  • إدراج الشيلكود المُولَّد في قالب محمل (loader)
  • ترجمة واختبار المحمل مع الشيلكود المُولَّد
  • دعم وضع التصحيح لفحص الملفات الوسيطة
  • تنظيف الملفات الوسيطة بعد التنفيذ الناجح

المتطلبات

  • نظام تشغيل Windows
  • بايثون 3.6 أو أعلى
  • Microsoft Visual Studio 2022 Community Edition (أو إصدار متوافق)
  • حزم بايثون التالية:
    • pefile
    • argparse
  • مترجم C (cl.exe) ومجمّع (ml64.exe) من Visual Studio
  • ملف vcvars64.bat من Visual Studio (لإعداد بيئة الترجمة)

التثبيت

  1. قم بتثبيت بايثون 3.6 أو أعلى من python.org
  2. قم بتثبيت Microsoft Visual Studio 2022 Community Edition
  3. قم بتثبيت حزم بايثون المطلوبة:

pip install pefile argparse

  1. قم باستنساخ أو تنزيل هذا المستودع إلى جهازك المحلي

الاستخدام

قم بتشغيل السكربت من سطر الأوامر باستخدام الصيغة التالية:

root@kitploit:~
python shgenob.py --code-file <path_to_c_file> [--masm-file <path_to_masm_file>] [--debug] [--xor-key <key>]

الوسائط:

  • --code-file أو -cf: (إلزامي) المسار إلى ملف main.c الذي يحتوي على كود PIC
  • --masm-file أو -mf: (اختياري) مسار إلى ملف .masm خارجي لتضمين منطق تجميع إضافي في الشيلكود
  • --debug أو -d: (اختياري) تمكين وضع التصحيح (يتجاوز تنظيف الملفات الوسيطة)
  • --xor-key أو -xk: (اختياري) مفتاح XOR لتشفير الشيلكود (الصيغة: AA,BB,CC)

أمثلة:

root@kitploit:~
# الاستخدام الأساسي
python shgenob.py --code-file main.c

# مع ملف MASM خارجي
python shgenob.py --code-file main.c --masm-file custom_logic.masm

# مع جميع الخيارات
python shgenob.py --code-file main.c --masm-file custom_logic.masm --debug --xor-key AA,BB,CC

وصف الدوال

  1. save_to_file(content, filename): يحفظ المحتوى المعطى في ملف في الدليل الحالي
  2. cleanup(): يحذف الملفات الوسيطة (.asm, .exe, .obj, .lnk) في الدليل الحالي
  3. xor_encrypt(shellcode, key): يشفر الشيلكود باستخدام XOR مع المفتاح المقدم
  4. insert_shellcode_into_loader(formatted_shellcode, loader_file): يدرج الشيلكود في قالب المحمل
  5. extract_text_section(file_path, key): يستخرج مقطع .text من ملف PE ويقوم بتشفيره اختياريًا
  6. find_file(root_dir, file_name): يبحث عن ملف في الدليل المحدد وأدلته الفرعية
  7. run_command_with_vcvars(command, vcvars_path): يشغل أمرًا مع تعيين متغيرات بيئة Visual Studio
  8. compile_cpp_file(cpp_file, vcvars_path, output_exe): يترجم ملف C++ باستخدام مترجم Visual Studio
  9. modify_asm_file(asm_file): يعدل ملف التجميع المُولَّد ليتوافق مع الشيلكود
  10. main(cpp_file, args): الدالة الرئيسية التي تدير عملية توليد الشيلكود

سير العمل

  1. تحليل وسائط سطر الأوامر
  2. تحديد موقع أدوات Visual Studio (vcvars64.bat, cl.exe, ml64.exe)
  3. ترجمة ملف C المدخل إلى تجميع
  4. تعديل ملف التجميع المُولَّد
  5. تجميع ملف التجميع المُعدَّل
  6. استخراج مقطع .text من الملف التنفيذي الناتج
  7. تشفير الشيلكود المستخرج اختياريًا
  8. حفظ الشيلكود في ملف
  9. إدراج الشيلكود في قالب المحمل
  10. ترجمة المحمل
  11. اختبار المحمل مع الشيلكود المُولَّد
  12. تنظيف الملفات الوسيطة (إلا في وضع التصحيح)

التصحيح

استخدم العلامة --debug لتجاوز عملية التنظيف وفحص الملفات الوسيطة. هذا مفيد لاستكشاف الأخطاء وإصلاحها وفهم عملية توليد الشيلكود.

اعتبارات أمنية

  • هذه الأداة مخصصة لأغراض تعليمية واختبارية مرخصة فقط
  • قد يتم اكتشاف الشيلكود المُولَّد بواسطة برامج مكافحة الفيروسات
  • استخدم التشفير (مفتاح XOR) لتعتيم الشيلكود، لكن لاحظ أن هذا شكل أساسي من التعتيم
  • تأكد من حصولك على إذن لاستخدام هذه الأداة على الأنظمة المستهدفة

القيود

  • تدعم حاليًا فقط Windows وسلسلة أدوات Microsoft Visual Studio
  • معالجة أخطاء محدودة لبعض الحالات الحدية
  • تشفير XOR هو شكل أساسي من التعتيم وقد لا يكون كافيًا لجميع حالات الاستخدام

المساهمة

نرحب بالمساهمات لتحسين SHGenOB. يرجى اتباع الخطوات التالية:

  1. استنساخ المستودع (Fork)
  2. إنشاء فرع جديد لميزتك
  3. تنفيذ (Commit) تغييراتك
  4. الدفع (Push) إلى الفرع
  5. إنشاء طلب سحب (Pull Request) جديد
تنزيل الأداة