Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/reloaded-project/reloaded.injector

C# DLL Injection Library capable of injecting x86 DLLs to x86 process from x64 processes.
https://github.com/reloaded-project/reloaded.injector

csharp dll-injector inject-dlls x64 x86 x86-64

Last synced: 4 days ago
JSON representation

C# DLL Injection Library capable of injecting x86 DLLs to x86 process from x64 processes.

Awesome Lists containing this project

README

        




Project Reloaded: Injector






Crossing the WoW boundaries





Coverage



NuGet



Build Status

# Introduction
Reloaded.Injector is a DLL Injector, what is there more to say?

Well, there are many kinds of DLL Injectors and libraries out there in the wild, so I guess the question is rather *why did I write another one and use something already out there*?

![XKCD: Standards](https://imgs.xkcd.com/comics/standards.png)

Well, there indeed are many DLL injectors, but for C# one unfortunately did not exist that had the particular feature set I needed: Inject DLLs into *both x86 and x64 targets* from the same program.

That's the reason this project exists.

## Notable Features
- Find & Call exported methods in injected/loaded remote DLLs.
- Execute LoadLibraryW, GetProcAddress in remote processes.
- Does not load DLLs into current process. Safe for DLLs with code in DllMain.
- Does not waste/leave memory in remote process after injection.
- Uses circular buffer for parameter passing. No slow heap allocations in remote process for calling functions.
- **All of this is also supported for x86 processes from x64 processes.**.

## Getting Started

To get started, install the package from NuGet and simply create a new instance of the `Injector` class from the `Reloaded.Injector` namespace:

```csharp
injector = new Injector(process);
```
You're done; that's all you need to do.

PS. When you're done, be a good person and dispose your waste 😉.

```csharp
injector.Dispose();
```

## Contributions
As with the standard for all of the `Reloaded-Project`, repositories; contributions are very welcome and encouraged.

Feel free to implement new features, make bug fixes or suggestions so long as they are accompanied by an issue with a clear description of the pull request 😉.