
برهان مفهوم حول كيفية استخدام Compute Shader كحمولة
هذا مثال على كيفية تضمين حمولة (payload) داخل compute shader. يتم تشفير الحمولة وفك تشفيرها على وحدة معالجة الرسومات (GPU).
هذا ليس بأي حال من الأحوال تنفيذًا كاملاً، فهو يفتقر إلى اعتبارات OPSEC الحاسمة.
قم بإنشاء حمولة باستخدام الطريقة المفضلة لديك، استخدمت calc.exe الكلاسيكي كمثال.
ثم استخدم سكربت بايثون polychrome.py لإنشاء كود الـ shader.
python3 polychrome.py <path_to_payload> -t both --meta -n payload
بعد ذلك يجب أن يكون لديك ملف shader مثل .hlsl
لاستخدامه نحتاج إلى تصنيعه (compile) أولاً.
fxc /T cs_5_0 /E CSMain /O3 /Fo payload.cso payload.hlsl
انقل ملف payload.cso وملف payload.meta.json إلى مجلد resources.
ثم قم بتصنيع مشروع rust، حيث يتم تضمين الحمولة داخل الملف التنفيذي:
cargo build --release
