
مُحمِّل برمجيات خبيثة بلغة .NET، يستخدم API-Hashing لتجنب التحليل الثابت.
مُحمل برمجيات خبيثة لـ.NET، يستخدم API-Hashing والاستدعاء الديناميكي لتجنب التحليل الثابت
يستخدم NixImports تطبيقي المُدار لتجزئة API (HInvoke) لحل معظم دوالّه المُستدعاة ديناميكيًا في وقت التشغيل. لحل الدوال، يتطلب HInvoke تجزئتين: typeHash و methodHash. تمثل هذه التجزئات اسم النوع واسم الدالة الكامل (FullName)، وفي وقت التشغيل يقوم HInvoke بتحليل كامل mscorlib للعثور على النوع والدالة المطابقين. نتيجة لهذه العملية، لا يترك HInvoke أي مراجع استيراد للدوال المُستدعاة من خلاله.
ميزة أخرى مثيرة للاهتمام في NixImports هي أنه يتجنب استدعاء الطرق المعروفة قدر الإمكان، حيث يستخدم NixImports الطرق الداخلية بدلاً من الأغلفة (wrappers) الخاصة بها كلما أمكن. باستخدام الطرق الداخلية فقط، يمكننا تجنب الخطافات والمراقبة الأساسية التي تستخدمها بعض أدوات الأمان.
للحصول على شرح أكثر تفصيلاً، اطّلع على منشور مدونتي.
يمكنك إنشاء تجزئات لـ HInvoke باستخدام هذه الأداة
يتطلب NixImports فقط مسار ملف الـ .NET الثنائي الذي تريد تضمينه معه.
NixImports.exe <filepath>
سيقوم تلقائيًا بإنشاء ملف تنفيذي جديد باسم Loader.exe في المجلد الجذر. سيحتوي الملف التنفيذي للـ loader على الحمولة المشفرة الخاصة بك ورمز الـ stub اللازم لتشغيلها.
إذا كنت مهتمًا بهندسة الكشف وإمكانية اكتشاف NixImports، فاطّلع على القسم الأخير من منشور مدونتي
أو انقر هنا للحصول على قاعدة yara أساسية تغطي NixImports.