DLL Injector

A simple and reliable DLL injector written in Rust.

Designed from the ground up for speed and ease of use, with a single-command design, everything you would need can be done in the blink of an eye.

Using

Using the injector is simple:

dll_injector <TARGET> <DLL>

For example:

./dll_injector "notepad" "C:\Users\Public\Desktop\example.dll"

Syntax Highlighting example

This section is here only to serve as an example

#pragma once

#include <cmath>
#include <iostream>
#include <numbers>
#include <string>

// ---------------------------

typedef char i8;
typedef short i16;
typedef int i32;
typedef long long i64;

typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
typedef unsigned long long u64;

typedef float f32;
typedef double f64;

// ---------------------------

/// Reads a word from standard input, returning it.
template<typename T>
auto stdin_read() -> T;

/// Prints a prompt message and reads the first word from standard input, returning it.
///
/// @param prompt The prompt message
template<typename T>
auto input(const std::string& prompt) -> T;

/// Returns the n-th digit of a number
///
/// @param number Source number
/// @param n The digit to return, starting at the rightmost digit at index 0
inline auto get_digit(u64 number, u64 n) -> u64;

/// Returns the number of digits in a number
///
/// @param number The source number
inline auto get_digit_count(u64 number) -> u64;

// ---------------------------

#ifdef KT_UTILS_IMPLEMENTATION

template <typename T>
auto input(const std::string& prompt) -> T {
    std::cout << prompt;

    return stdin_read<T>();
}

template<typename T>
auto stdin_read() -> T {
    T val;

    std::cin >> val;

    return val;
}

inline auto get_digit(const u64 number, const u64 n) -> u64 {
    auto local = number;

    for (u64 i = 0; i < n; i++) {
        local /= 10;
    }

    return local % 10;
}

inline auto get_digit_count(const u64 number) -> u64 {
    auto local = number;
    u64 count = 0;

    while (local > 0) {
        local /= 10;

        count++;
    }

    return count;
}

#endif
fn main() -> Result<(), ()> {
    println!("This example is in a default markdown code block!");

    Err()
}
fun main() {
    println("Hello, world!")
}