
تطبيق dotnet Native AOT بسيط يستخدم LibObjectFile لتحويل shellcode إلى ELF
تطبيق dotnet بسيط بنمط Native AOT يستخدم [LibObjectFile] لتحويل الشيلكود إلى ELF.
يتم دعم الشيلكود لكل من 32 بت و64 بت (x86, x64) -> وينتج عنه ELF إما 32 بت أو 64 بت.
تم تجميع [الإصدارات] لكل من linux-x64 و win-x64.
تم تجميعه بصيغة Native AOT لإظهار كم هو رائع (ومع ذلك، كان الأمر مزعجًا لأن بعض التبعيات تستخدم reflection والتي يتم اقتطاعها إذا لم نتمكن من خداعها :D). الملفات الثنائية المتاحة للتنزيل في [الإصدار] هي ملفات ثنائية أصلية دون أي اعتماد على dotnet! (فقط قم بتشغيلها واستمتع)
تم التجميع باستخدام Native AOT، مع dotnet SDK 8.0.100-preview.3.23178.7
تم اختيار Dotnet SDK 8+ لأنه ينتج ملفات ثنائية أصغر بكثير.
يُدعم التجميع باستخدام Native AOT بدءًا من إصدار dotnet 7.
إذا أردت استخدام dotnet 7 للبناء، عدّل ملف المشروع لاستهداف net7.0 -> فالبناء أسهل بكثير مع dotnet 7.
سهل جدًا:
-p, --path [مطلوب. مسار ملف الشيلكود]
-a, --architecture [مطلوب. البنية: 32 أو 64 (اعتمادًا على الشيلكود)]
-o, --offset [اختياري. إزاحة البداية للشيلكود (الافتراضي 0)]
--help [عرض شاشة المساعدة هذه]
--version [عرض معلومات الإصدار]
تحويل الشيلكود إلى ELF بصيغة 32 بت (عند تعيين إزاحة بداية الشيلكود إلى البايت 66):
sc2elf -a 32 -o 66 -p C:\shellcode.bin