
يحول ملفات PE إلى shellcode
يقوم بتحويل PE بحيث يمكن حقنه مثل shellcode عادي.
(في نفس الوقت، يظل الملف الناتج PE صالحًا).
يدعم كلاً من PEs 32 بت و 64 بت
المؤلفون: @hasherezade و @hh86
الهدف من هذا المشروع هو توفير إمكانية إنشاء ملفات PE يمكن حقنها بأقل جهد. هو مستوحى من ReflectiveDLLInjection الخاص بـ Stephen Fewer - لكن الفرق هو أنه مع pe2shc يمكنك إضافة كعب التحميل الانعكاسي بعد التجميع. أيضًا، يتم تعديل رأس ملف PE بطريقة تمكنك من بدء تنفيذ المخزن المؤقت المحقون من البداية - تمامًا كما تفعل مع shellcode. سيجد الكعب تلقائيًا، ويواصل تحميل PE بالكامل.
🟢 يدعم الكعب فقط الهياكل الأساسية لتنسيق PE، مثل:
يرجى مراعاة أنه على الرغم من أن هذا يكفي لغالبية ملفات PE، إلا أن بعض الملفات القابلة للتنفيذ التي قد تصادفها قد تستخدم جوانب أخرى أكثر تعقيدًا من تنسيق PE. وهذا يعني أنه ليس كل PE يمكن تحويله بنجاح إلى shellcode.
🚫 أمثلة على العناصر غير المدعومة حاليًا:
📦 ⚙️ قم بتنزيل أحدث إصدار.
استخدم الاستنساخ التكراري للحصول على المستودع مع جميع الوحدات الفرعية:
git clone --recursive https://github.com/hasherezade/pe_to_shellcode.git
pe2shc.exe <path to your PE> [output path*]
* - اختياري
إذا تم تحويل PE بنجاح، فسيعلمك pe2shc بمكان حفظ المخرجات:
[+] Saved to file: <converted file>
مثال:
[+] Saved to file: test_file.shc.exe
runshc.exe <converted file>
(*)تحذير: تذكر استخدام إصدار runshc بعرض البت المناسب للتطبيق المحول (32 أو 64 بت) - وإلا سيتعطل التطبيق!