dll-syringe

CI crates.io Documentation dependency status MIT

A windows dll injection library written in Rust.

Supported scenarios

| Injector Process | Target Process | Supported? | | ---------------- | -------------- | ------------------------------------------ | | 32-bit | 32-bit | Yes | | 32-bit | 64-bit | No | | 64-bit | 32-bit | Yes (requires feature into_x86_from_x64) | | 64-bit | 64-bit | Yes |

Example

```rust norun use dllsyringe::{Syringe, Process};

// find target process by name let targetprocess = Process::findfirstbyname("target_process").unwrap();

// create new syringe (reuse for better performance) let syringe = Syringe::new();

// inject the payload into the target process let injectedpayload = syringe.inject(&targetprocess, "injection_payload.dll").unwrap();

// do something else

// eject the payload from the target (this is optional) injected_payload.eject().unwrap(); ```

License

Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)