
مُعزِّل كود bin2bin لملفات PE الخاصة بمعمارية x86-64
مُسمّى على اسم إحدى ألعابي المفضلة، "nocturne" هو أداة تظليل أكواد (code virtualizer) بصيغة bin2bin لملفات PE بمعمارية x86-64، ومُعيد كتابة للملفات الثنائية.
لاستخدام مُظلِّل Nocturne، انسخ "nocturne_sdk.hpp" من core/ وأدرجه في مشروعك.
#include "nocturne_sdk.hpp"
VIRTUALIZE int secret(int x) {
if (x % 2 == 0) {
return x / 2;
} else {
return x * 3 + 1;
}
}
VIRTUALIZE_MARK(secret);
بعد ذلك، شغّل الملف التنفيذي CLI.
cli.exe -i <input.exe> -o <output.exe>
مثال:
cli.exe -i example.exe -o example_protected.exe
بشكل افتراضي، يستخدم CLI وضع auto.
أو، بشكل صريح:
cli.exe -i <input.exe> -o <output.exe> --mode auto
مثال:
cli.exe -i example.exe -o example_protected.exe --mode auto
لمسح العلامات:
cli.exe -i <input.exe> -o <output.exe> --mode markers
مثال:
cli.exe -i example.exe -o example_protected.exe --mode markers
أو، إذا كنت تريد تظليل مقاطع محددة من ملف ثنائي بدون استخدام SDK:
cli.exe -i <input.exe> -o <output.exe> --mode rva <start_rva> <end_rva>
مثال:
cli.exe -i calc.exe -o calc_vmp.exe --mode rva 0x1600 0x1864
قبل التظليل:

بعد التظليل:

حلقة الموزّع (dispatcher) المُشوّشة:

LIEF
Zydis
argparse
أولاً وقبل كل شيء، هذا المشروع هو في الغالب مشروع إثبات مفهوم (POC). من فضلك لا تتوقع أن يكون مستقرًا جدًا. ومع ذلك، سأضيف تدريجيًا المزيد من الميزات/الإصلاحات إليه بمرور الوقت.
إذا كانت هناك أي ميزات / معالجات تريد تنفيذها، ألتمس منك فتح issue. أرحب بجميع المساهمات.
هذا المشروع متاح المصدر (source-available)، وليس مفتوح المصدر.
كود المصدر متاح بموجب رخصة PolyForm Noncommercial License 1.0.0.
يمكنك استخدام هذا البرنامج ودراسته وتعديله ومشاركته لأغراض غير تجارية، وفقًا لشروط الترخيص.
الاستخدام التجاري، والاستخدام المؤسسي، والاستخدام الداخلي للشركات، والاستخدام في الأعمال الإنتاجية، والخدمات المستضافة، والمنتجات المدفوعة، وأعمال العملاء، والأعمال الاستشارية، أو النشر التنظيمي غير مسموح بها بدون ترخيص كتابي منفصل.
للترخيص التجاري أو المؤسسي، تواصل مع: [email protected] / @nodiuus