Building from Source
The agent and its drivers live in two separate repositories and build with two different toolchains. Build the drivers with Visual Studio and the WDK, and build the agent with the Rust toolchain.
Source Code
The source is split across two private repositories:
- AnyOne-Endpoint: the Rust endpoint agent, CLI, and notifier (this repository).
- AnyOne-Kernel: the Windows kernel drivers,
AnyKDriver(kernel callbacks) andAnyMDriver(file-system minifilter).
ℹ️ Both repositories are internal to MarkAny GaneshaIT. Request access and clone URLs from:
Addin Munawwar (GaneshaIT)
Email / Slack: addin@ganeshait.com
Building the Drivers
The drivers are built from the AnyOne-Kernel repository. They are standard Windows kernel-mode C drivers and require Visual Studio 2022 with the Windows Driver Kit.
Prerequisites:
For the complete setup, follow Microsoft’s guide: Write a Universal Hello World driver (KMDF).
- Install the Windows Driver Kit (WDK). The Debugging Tools for Windows are included with the WDK.
- Install Visual Studio 2022 (this version is required for stable kernel driver development). Select the Desktop development with C++ workload, then under Individual Components add:
- MSVC v143 - VS 2022 C++ ARM64/ARM64EC Spectre-mitigated libs (Latest)
- MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)
- C++ ATL for latest v143 build tools with Spectre Mitigations (ARM64/ARM64EC)
- C++ ATL for latest v143 build tools with Spectre Mitigations (x86 & x64)
- C++ MFC for latest v143 build tools with Spectre Mitigations (x86 & x64)
- C++ MFC for latest v143 build tools with Spectre Mitigations (ARM64/ARM64EC)
- Windows Driver Kit
Important: The WDK and Windows SDK versions must match, for example both 10.0.26100.0.
To build:
- Open
AnyEDR-Drivers.slnin Visual Studio 2022. - Select the
Release | x64configuration. - Build → Rebuild Solution.
This produces both drivers under each project’s x64\Release folder:
AnyKDriver\x64\Release\AnyKDriver.sysAnyMDriver\x64\Release\AnyMDriver.sys
ℹ️ The build output is using test signing only. Running test-signed drivers requires enabling test signing on the target machine, covered under Environment Setup. The signing process is handled by MarkAny for production setup.
Building the Agent
The agent is built from the AnyOne-Endpoint repository (this repository) on Windows x64.
Prerequisites:
- Rust stable toolchain, 2024 edition (1.85 or newer), MSVC host (
x86_64-pc-windows-msvc). Install via rustup. - Visual Studio Build Tools 2022 with the Desktop development with C++ workload. Rust compiles the code but ships no linker for the MSVC target. It calls the MSVC linker (
link.exe) to produce the final executables and links against the Windows SDK import libraries. This workload provides both.
To build the full workspace:
cargo build --release --workspace
The binaries land in target\release\:
| Crate | Binary | Description |
|---|---|---|
service | anyone-agent.exe | The EDR agent runs as a Windows service. It collects telemetry and carries out remediation. |
cli | anyedr-cli.exe | An interactive shell that connects to a running agent over a named pipe to send commands. Could be re-purposed in the future. |
notifier | anyone-agent-notifier.exe | A binary the agent spawns to show a Windows toast notification to the logged-in user. |