Dr.Semu запускает исполняемые файлы в изолированной среде, контролирует поведение процесса и, основываясь на правилах Dr.Semu , созданных вами или сообществом, обнаруживает, является ли процесс злонамеренным или нет.

[Инструмент находится на ранней стадии разработки]
С Dr.Semu вы можете создавать правила для обнаружения вредоносного ПО на основе динамического поведения процесса.
Все происходит из пользовательского режима. Файловая система Windows Progifeed (ProJFS) используется для предоставления virtual файловой системы. Для перенаправления реестра он клонирует все ульи реестра в новое место и перенаправляет все доступ к реестрам.
См. Исходный код для получения дополнительной информации о других перенаправлениях (изоляция процессов/объектов и т. Д.).
Dr.Semu использует Dynamorio (платформа Dynamic Instrumentation Tool) для перехвата потока, когда он собирается пересечь линию пользователя-кенле. Он имеет тот же эффект, что и подключение SSDT , но из режима пользователя и ничего не зацепляя.
На этом этапе Dr.Semu создает файл JSON, который содержит информацию из перехвата.
После прекращения процесса, основываясь на правилах Dr.Semu , мы получаем, если исполняемый файл обнаруживается как вредоносное ПО или нет.
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
Скачать и извлечь файл ZIP со страницы релизов
Скачать 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 Library:
DrSemushared_libspe_parse с использованием cmake-guibuild ( shared_libspe_parsebuildpe-parser-libraryRelease ) и 64-разрядный один под build64Multi-threaded ( /MT ). Установите LauncherCLI в качестве стартового проекта
Windows 10 , версия 1809 (из -за Windows Projected File System )Windows 10 , версия 1809 ( DynamoRIO поддерживает версии Windows 10 до 1809 )