Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Packer-payload-EntropyReducer — قلّل الإنتروبيا وامْهُو حمولتك باستخدام القوائم المترابطة المتسلسلة | Kitploit
أدوات/GitHubGitHub/gmh5225/packer-payload-entropyreducer
أدوات التشفير/فك التشفيرتوليد الحمولةشيل كودتحليل البرمجيات الخبيثةالفريق الأحمرتطوير الحمولات
GitHubgmh5225/packer-payload-entropyreducer

Packer-payload-EntropyReducer

قلّل الإنتروبيا وامْهُو حمولتك باستخدام القوائم المترابطة المتسلسلة

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
5581منذ 3 سنواتلم تتم المراجعة بعد

EntropyReducer: قلّل إنتروبيا الحمولة الخاصة بك وموّهها باستخدام قوائم مترابطة مُسلسلة


كيف يعمل

تتحدد خوارزمية EntropyReducer بقيمتي BUFF_SIZE وNULL_BYTES. فيما يلي كيفية تنظيم EntropyReducer لحمولتك إذا كانت BUFF_SIZE مضبوطة على 4، وNULL_BYTES على 2.

image


خوارزمية التمويه

  • يتحقق EntropyReducer أولاً مما إذا كان حجم الحمولة الخام المُدخلة من مضاعفات BUFF_SIZE، وإن لم يكن كذلك، فإنه يحشوها لتكون كذلك.
  • ثم يأخذ كل مقطع بحجم BUFF_SIZE من الحمولة، وينشئ له عقدة قائمة مترابطة، باستخدام الدالة InitializePayloadList، مُهيّئًا الحمولة كقائمة مترابطة.
  • ستحتوي العقدة المُنشأة على مخزن مؤقت فارغ بحجم NULL_BYTES، والذي سيُستخدم لخفض الإنتروبيا
  • عند هذه النقطة، ورغم أن EntropyReducer قد أكمل مهمته بخفض إنتروبيا الحمولة، فإنه لا يتوقف هنا. بل يواصل بعد ذلك عشوائية ترتيب كل عقدة في القائمة المترابطة، مما يُفكك ترتيب الحمولة الخام. تُنجز هذه الخطوة عبر خوارزمية الدمج والفرز المُنفّذة من خلال الدالة MergeSort.
  • تكون القائمة المترابطة المُرتّبة بترتيب عشوائي لأن القيمة التي تُرتّب بها القائمة المترابطة هي قيمة XOR لأول ثلاثة بايتات من الحمولة الخام، وهذه القيمة تحدد موضعها في القائمة المترابطة المُعاد تنظيمها، ويمكن الاطلاع على هذه الخطوة هنا
  • نظرًا لأن حفظ قائمة مترابطة في ملف مستحيل بسبب ارتباطها ببعضها عبر المؤشرات. نُضطر إلى تسلسلها.
  • يتم تسلسل القائمة المترابطة المُنشأة عبر الدالة Obfuscate هنا.
  • بعد ذلك، تكون البيانات المُسلسلة جاهزة للكتابة إلى ملف الإخراج.

خوارزمية إزالة التمويه

  • نظرًا لأن الخطوة الأخيرة في خوارزمية التمويه كانت تسلسل القائمة المترابطة، فإن أول ما يجب فعله هنا هو إلغاء تسلسل الحمولة المموّهة، وتوليد قائمة مترابطة منها، وتُنجز هذه الخطوة هنا في الدالة Deobfuscate.
  • الخطوة التالية هي ترتيب القائمة المترابطة باستخدام معرّف العقدة (Id)، ويتم ذلك باستخدام نفس خوارزمية الدمج والفرز المُستخدمة سابقًا.
  • الآن، أصبحت القائمة المترابطة بالترتيب الصحيح لإعادة بناء بايتات الحمولة كما ينبغي. لذا نقوم ببساطة بتجريد بايتات الحمولة الأصلية من كل عقدة، كما هو مُنفّذ هنا.
  • الخطوة الأخيرة هي تحرير العقد المُخصصة، ويتم ذلك هنا.

الاستخدام

  • يقرأ EntropyReducer ببساطة ملف الحمولة الخام من سطر الأوامر، ويكتب النسخة المموّهة إلى اسم الملف نفسه مسبوقًا بـ ".ER".
  • يتفاوت حجم الحمولة المموّهة النهائية اعتمادًا على قيمتي BUFF_SIZE وNULL_BYTES. ومع ذلك، يمكن تحديده باستخدام المعادلة التالية
FinalSize = ((OriginalSize + BUFF_SIZE - OriginalSize % BUFF_SIZE ) / BUFF_SIZE) * (BUFF_SIZE + NULL_BYTES + sizeof(INT))

يُستخدم مشروع PoC في هذا المستودع لتنفيذ ملف ".ER" الناتج كمثال على إلغاء تسلسله وإزالة التعتيم عنه.


تضمينه في مشاريعك

كل ما عليك فعله هو إضافة ملفي EntropyReducer.c وEntropyReducer.h إلى مشروعك، واستدعاء الدالة Deobfuscate. يمكنك مراجعة PoC/main.c للاطلاع.


مثال على المخرجات

في هذا المثال، تم ضبط BUFF_SIZE على 3، وNULL_BYTES على 1.

  • الحمولة الخام، أول مقطع من الحمولة (FC 48 83)

image

  • المقطع نفسه من الحمولة، لكن عند إزاحة مختلفة

image


الفائدة

  • شل كود x64 الناتج عن metasploit له إنتروبيا مقدارها 5.883، كما يظهر عبر pestudio.

image

  • الملف نفسه، مشفَّرًا بـ AES، يسجل إنتروبيا مقدارها 7.110.

image

  • نتيجة شبه مطابقة مع خوارزمية RC4 أيضًا؛ 7.210

image

  • لكن باستخدام EntropyReducer، تسجل الإنتروبيا قيمة أقل حتى من تلك الخاصة بالحمولة الخام الأصلية؛ 4.093

image


خوارزمية الدمج والفرز (Merge Sort) مأخوذة من c-linked-list.

تنزيل الأداة