dma-rs 1.0.0

A Rust library for hardware DMA interaction on Windows
Documentation
  • Coverage
  • 0%
    0 out of 50 items documented0 out of 30 items with examples
  • Size
  • Source code size: 3.07 MB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.49 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 40s Average build duration of successful builds.
  • all releases: 27s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • vasie1337/dma-rs
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • vasie1337

dma-rs

A Rust library for DMA access on Windows.

Features

  • Process Management: List, attach, and retrieve process information
  • Memory Operations: Read and write process memory with type-safe APIs
  • Scatter Operations: High-performance batch memory operations
  • Module Enumeration: List loaded modules and resolve function addresses
  • Embedded DLLs: All dependencies are embedded at compile-time
  • Clean API: Type-safe, ergonomic Rust interface

Quick Start

use dma_rs::Dma;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let dma = Dma::new("fpga://algo=0")?;

    let process = dma.attach("explorer.exe")?;
    let modules = process.list_modules()?;

    if let Some(module) = modules.first() {
        let value: u64 = process.read(module.base)?;
        println!("Read: 0x{:X}", value);
    }

    Ok(())
}

License

MIT