Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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) and AnyMDriver (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:

  1. Open AnyEDR-Drivers.sln in Visual Studio 2022.
  2. Select the Release | x64 configuration.
  3. Build → Rebuild Solution.

This produces both drivers under each project’s x64\Release folder:

  • AnyKDriver\x64\Release\AnyKDriver.sys
  • AnyMDriver\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\:

CrateBinaryDescription
serviceanyone-agent.exeThe EDR agent runs as a Windows service. It collects telemetry and carries out remediation.
clianyedr-cli.exeAn interactive shell that connects to a running agent over a named pipe to send commands. Could be re-purposed in the future.
notifieranyone-agent-notifier.exeA binary the agent spawns to show a Windows toast notification to the logged-in user.