Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/reloaded-project/reloaded.injector
- Owner: Reloaded-Project
- License: lgpl-3.0
- Created: 2019-01-02T04:50:02.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-21T00:02:34.000Z (9 months ago)
- Last Synced: 2024-11-01T22:08:11.865Z (12 days ago)
- Topics: csharp, dll-injector, inject-dlls, x64, x86, x86-64
- Language: C#
- Homepage:
- Size: 6.24 MB
- Stars: 159
- Watchers: 8
- Forks: 32
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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 😉.