
بعض أعمال القرصنة على PE التي أعمل عليها (محمل shellcode، حزمة، كلها قيد العمل)
في هذا المستودع، ستجد نوعًا من ساحة التجارب التي أستخدمها لأغراض تعديل ملفات PE (الملفات التنفيذية المحمولة) الخاصة بي. ينبغي تجميع الشيفرة باستخدام LLVM لنظام Windows لأنني أستبدل/أعيد تعريف بعض الدوال الجوهرية (intrinsic functions) (مثل memset) للاستعاضة عن استخدام CRT الاعتيادي الخاص بـ Win32.
يحتوي المشروع shellcode على شيفرة صدفية (shellcode) سيتم تجميعها في ملف .exe. يقوم السكربت extract.py باستخراج الشيفرة المجمّعة
من ملف .exe إلى ملف shellcode.bin، جاهزًا للتحميل كشيفرة صدفية من تطبيق Win32 أصلي.
يوفّر shellcode_test محمّل شيفرة صدفية افتراضيًا لاختبار هذا المحمّل.
في هذه الملفات أضفت بعض ملفات الرأس الداعمة الأساسية المستخدمة لأمور واجهة برمجة تطبيقات Win32 وكتعويض أساسي عن CRT.
يحتوي على بعض الدوال المساعدة للتسجيل (logging) ووحدة تحكم تصحيح (debug console) (بما في ذلك أوامر قابلة للتنفيذ). لا يوجد لهذه استخدام خاص بعد، لكنني متأكد من أنني سأجد غرضًا لها.
ملف PE أولي (stub) سيُستخدم لاحقًا لكتابة أداة ضغط ملفات .exe (سيكون هذا هو المحمّل).
يحتوي على تطبيقات C/C++ أساسية سأستخدمها لاختبار أداة ضغط ملفات PE الخاصة بي.