Prerequisites
Before installing Dr.Semu, ensure your system meets these requirements:Required software
Windows Projected File System
Enable ProjFS using PowerShell in an elevated window:
ProjFS provides the virtual filesystem that isolates malware from your actual filesystem.
Python 3 x64
Install Python 3 64-bit from the official Python downloads page.Dr.Semu uses Python for executing detection rules after behavioral analysis completes.
DynamoRIO
Download DynamoRIO from the official releases page.
Installation from releases
Download Dr.Semu
Download the latest release from the Dr.Semu releases page and extract the zip file.
Extract DynamoRIO
Extract the DynamoRIO download into the Dr.Semu folder and rename the directory to
dynamorio.Your directory structure should look like:Building from source
If you prefer to build Dr.Semu from source:Build prerequisites
Install dependencies
- Install Python 3 x64
- Download DynamoRIO and extract to
binfolder, rename todynamorio
Build pe-parse library
Generate Visual Studio project from
DrSemu\shared_libs\pe_parse using cmake-gui:- Build 32-bit library under
build(\shared_libs\pe_parse\build\pe-parser-library\Release\) - Build 64-bit library under
build64 - Change run-time library option to
Multi-threaded(/MT)
Configuration
Detection rules
Dr.Semu includes adr_rules directory for detection rules. You can:
- Write custom rules in Python or Lua
- Use community rules from DrSemu-Detections
Rules analyze both dynamic behavior (from JSON reports) and static file properties to determine if executables are malicious.
Directory structure
After installation, your Dr.Semu directory should contain:Next steps
Quick start guide
Run your first malware analysis
Writing rules
Learn to create custom detection rules