
سكين الجيش السويسري لتشفير الحمولات (payloads)، وإخفائها (obfuscation)، وتحويلها إلى مصفوفات بايت – كل ذلك في أمر واحد (يدعم 14 صيغة إخراج)! ☢️
سكين الجيش السويسري لتشفير الحمولات (payloads) وإخفائها وتحويلها إلى مصفوفات بايتات – كل ذلك بأمر واحد!
يدعم 3 خوارزميات تشفير، و4 خوارزميات ترميز/إخفاء، و14 تنسيقًا للمخرجات.

حمّل الملف الثنائي المجمَّع أو اجمَع كود Go المصدر.
مثال:
# Convert .bin file into C bytes array with XOR encryption and IPv4Fuscation
./ByteCaster -i shellcode.bin -f c -x xor -k 'Test123' -e ipv4
# Convert .bin file into base64 string with XOR encryption
./ByteCaster -i shellcode.bin -x xor -k 'Test123' -e base64

ملاحظة: تسلسل العمليات هو نفسه دائمًا:
- التشفير
- الترميز
- تنسيق المخرجات
-i / --input <path> [مطلوب]
ملف الإدخال الثنائي.
-f / --format <value> [اختياري، الافتراضي: raw]
تنسيق مخرجات البيانات المعالجة. يولّد هذا البيانات النهائية كمصفوفة بايتات بلغة البرمجة المحددة. يُرسل المخرج دائمًا إلى STDOUT.
لتجنب تطبيق أي تنسيق على المخرجات، استخدم القيمة raw (الافتراضية).
القيم المتاحة: raw, hex, c, go, powershell, php, js, rust, csharp, nim, zig, ruby, python, java
-x / --enc-alg <value> + -k / --enc-key <string> [اختياري]
تشفير البيانات. يجب توفير كلتا المعلمتين معًا: خوارزمية التشفير وسلسلة المفتاح.
القيم المتاحة: xor, aes256, rc4
جميع خوارزميات التشفير المدعومة موصوفة بالتفصيل أدناه.
-e / --encoding <value> [اختياري]
ترميز البيانات. يُستخدم غالبًا كإخفاء (obfuscation) لإرباك التحليل أو تغيير مستوى إنتروبيا البيانات.
القيم المتاحة: base32, base64, ipv4, mac
جميع خوارزميات الترميز المدعومة موصوفة بالتفصيل أدناه.
xor [0% حمل إضافي]تشفير XOR بسيط نموذجي (a^b). يُخضع كل بايت لعملية XOR مع البايت المقابل من المفتاح.
aes256 [28 بايت حمل إضافي]AES-256-GCM مع مفتاح طوله 32 بايت مشتق من دالة التجزئة SHA-256.
تنسيق النص المشفر: nonce || ciphertext. يُخزَّن الـ nonce في أول 12 بايت، تليها البيانات المشفرة ووسم المصادقة (يُضاف الوسم تلقائيًا بواسطة GCM داخل النص المشفر).
تنفيذ Go القياسي لتشفير AES:crypto/aes
تنفيذ Go القياسي لاشتقاق المفتاح عبر SHA-256: crypto/sha256
rc4 [0% حمل إضافي]تنفيذ Go القياسي لتشفير RC4: crypto/rc4
base32 [حمل إضافي 60–65%]تنفيذ Go القياسي لترميز Base32: encoding/base32
base64 [حمل إضافي 33%-37%]تنفيذ Go القياسي لترميز Base64: encoding/base64
ipv4 [حمل إضافي 100%-300%]تُعرف هذه التقنية باسم IPv4Fuscation. يُحوَّل كل بايت من المخرجات إلى ثمانية (octet) واحدة في عنوان IPv4 كرقم عشري.
بيانات مثال:
{ 0xe9, 0x36, 0x17, 0xbb, 0xbd, 0x7f, 0x22, 0x10 }
يبدو المخرج (مصفوفة البايتات) تمامًا هكذا في الذاكرة:
233.54.23.187\0189.127.34.16\0 ...
ملاحظة:
- ينتهي كل عنوان IP ببايت فارغ (null byte)!
- إذا لم يكن عدد البايتات قابلاً للقسمة على 4، فإن البايتات الناقصة المُضافة إلى عنوان IP الأخير تكون 255.
mac [حمل إضافي 200%]تُعرف هذه التقنية باسم MACFuscation. يُحوَّل كل بايت من المخرجات إلى ثمانية واحدة في عنوان MAC كرقم سداسي عشري (أحرف صغيرة).
بيانات مثال:
{ 0xe9, 0x36, 0x17, 0xbb, 0xbd, 0x7f, 0x22, 0x10, 0x84, 0xA7, 0x6f, 0xcc }
يبدو المخرج (مصفوفة البايتات) تمامًا هكذا في الذاكرة:
e9:36:17:bb:bd:7f\022:10:84:a7:6f:cc\0
ملاحظة:
- ينتهي كل عنوان MAC ببايت فارغ (null byte)!
- الأرقام السداسية العشرية بأحرف صغيرة.
- إذا لم يكن عدد البايتات قابلاً للقسمة على 6، فإن البايتات الناقصة المُضافة إلى عنوان MAC الأخير تكون 255 (
ff).