
DrSemu - أداة كشف وتصنيف البرمجيات الخبيثة في بيئة معزولة (Sandbox) بناءً على السلوك الديناميكي
Dr.Semu يقوم بتشغيل الملفات القابلة للتنفيذ في بيئة معزولة، ويراقب سلوك العملية، وبناءً على قواعد Dr.Semu التي أنشأتها أنت أو المجتمع، يكتشف ما إذا كانت العملية ضارة أم لا.

[الأداة في مرحلة التطوير المبكر]
باستخدام Dr.Semu يمكنك إنشاء قواعد لاكتشاف البرامج الضارة بناءً على السلوك الديناميكي للعملية.
كل شيء يحدث من وضع المستخدم. يُستخدم نظام الملفات المسقطة من Windows (ProjFS) لتوفير نظام ملفات افتراضي. بالنسبة لإعادة توجيه السجل، يقوم باستنساخ جميع خلايا التسجيل إلى موقع جديد ويعيد توجيه جميع عمليات الوصول إلى السجل.
راجع الكود المصدري لمزيد من المعلومات حول عمليات إعادة التوجيه الأخرى (عزل العمليات/الكائنات، إلخ).
يستخدم Dr.Semu DynamoRIO (منصة أدوات التوصيف الديناميكي) لاعتراض الخيط عندما يكون على وشك عبور خط المستخدم-النواة. له نفس تأثير ربط SSDT ولكن من وضع المستخدم ودون ربط أي شيء.
في هذه المرحلة، ينتج Dr.Semu ملف JSON يحتوي على معلومات من عملية الاعتراض.
بعد إنهاء العملية، بناءً على قواعد Dr.Semu نتلقى ما إذا كان الملف القابل للتنفيذ قد تم اكتشافه كبرنامج ضار أم لا.
هي مكتوبة بلغة Python أو LUA (توجد تحت dr_rules) وتستخدم معلومات ديناميكية من عملية الاعتراض ومعلومات ثابتة حول العينة. من السهل إضافة دعم للغات أخرى.

مثال (Python): https://gist.github.com/secrary/ac89321b8a7bde998a6e3139be49eb72
مثال (Lua): https://gist.github.com/secrary/e16daf698d466136229dc417d7dbcfa3
PowerShell لتمكين ProjFS في نافذة PowerShell بصلاحيات مرتفعة:Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
قم بتنزيل واستخراج ملف مضغوط من صفحة الإصدارات
قم بتنزيل DynamoRIO واستخراجه في مجلد DrSemu وأعد تسميته إلى dynamorio
قم بتثبيت Python 3 x64
DrSemu.exe --target file_path
DrSemu.exe --target files_directory
PowerShell لتمكين ProjFS في نافذة PowerShell بصلاحيات مرتفعة:Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

قم بتثبيت Python 3 x64
قم بتنزيل DynamoRIO واستخراجه في مجلد bin وأعد تسميته إلى dynamorio
قم ببناء مكتبة pe-parser-library.lib:
DrSemu\shared_libs\pe_parse باستخدام cmake-guibuild (\shared_libs\pe_parse\build\pe-parser-library\Release\) ومكتبة 64 بت تحت build64Multi-threaded (/MT)قم بتعيين LauncherCLI كمشروع بدء التشغيل
Windows 10، الإصدار 1809 (بسبب Windows Projected File System)Windows 10، الإصدار 1809 (يدعم DynamoRIO إصدارات Windows 10 حتى 1809)