All Projects → HoLLy-HaCKeR → ManagedInjector

HoLLy-HaCKeR / ManagedInjector

Licence: MIT license
A DLL injector to inject .NET assemblies into a foreign .NET process.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to ManagedInjector

dll injector
A simple commandline injector using classic DLL injection
Stars: ✭ 81 (+10.96%)
Mutual labels:  dll-injection, dll-injector
Inflame
User-mode Windows DLL injector written in Assembly language (FASM syntax) with WinAPI.
Stars: ✭ 63 (-13.7%)
Mutual labels:  dll-injection, dll-injector
SocketHook
Socket hook is an injector based on EasyHook (win only) which redirect the traffic to your local server.
Stars: ✭ 38 (-47.95%)
Mutual labels:  dll-injection, dll-injector
Windows-DLL-Injector
Some DLL Injection techniques in C++ implemented for both x86 and x64 windows OS processes
Stars: ✭ 174 (+138.36%)
Mutual labels:  dll-injection
SnifferIH
DLL Hooking Packet Sniffer
Stars: ✭ 15 (-79.45%)
Mutual labels:  dll-injection
inject
Yet another Windows DLL injector.
Stars: ✭ 23 (-68.49%)
Mutual labels:  dll-injection
hooking-by-example
A series of increasingly complex programs demonstrating function hooking on 64 bit Windows. Culminating in a program that hooks mspaint to make it always paint orange.
Stars: ✭ 144 (+97.26%)
Mutual labels:  dll-injection
LunaLua
LunaLua - LunaDLL with Lua, is a free extension for SMBX 1.3 game engine, core of the X2 project.
Stars: ✭ 27 (-63.01%)
Mutual labels:  dll-injection
Osiris
Free open-source game cheat for Counter-Strike: Global Offensive, written in modern C++. GUI powered by Dear ImGui.
Stars: ✭ 1,851 (+2435.62%)
Mutual labels:  dll-injection
Invisiwind
An application that allows you to hide certain windows when sharing your full screen
Stars: ✭ 53 (-27.4%)
Mutual labels:  dll-injection
Dll-Injector
simple C++ dll injector
Stars: ✭ 22 (-69.86%)
Mutual labels:  dll-injection
paradoxiaRAT
ParadoxiaRat : Native Windows Remote access Tool.
Stars: ✭ 583 (+698.63%)
Mutual labels:  dll-injection
ReflectivePELoader
Reflective PE loader for DLL injection
Stars: ✭ 130 (+78.08%)
Mutual labels:  dll-injection
Spore-ModAPI
A C++ library that allows you to create advanced mods for Spore (user interface, shaders,...)
Stars: ✭ 31 (-57.53%)
Mutual labels:  dll-injection
Indicium-Supra
DirectX API-hooking framework
Stars: ✭ 292 (+300%)
Mutual labels:  dll-injection
singlefile
featured cs:go internal hack, one file and less than 1000 lines.
Stars: ✭ 47 (-35.62%)
Mutual labels:  dll-injection
cozinha loader
An injector focused on undetectability that automatically injects a DLL into the target process with VAC3 bypass.
Stars: ✭ 53 (-27.4%)
Mutual labels:  dll-injection
slimhook
Demonstration of dll injection. As well loading .net runtime and calling .net code. Example hijacking d3d9 dll and altering rendering of games.
Stars: ✭ 33 (-54.79%)
Mutual labels:  dll-injection
DLL-Injector
Inject and detour DLLs and program functions both managed and unmanaged in other programs, written (almost) purely in C#. [Not maintained].
Stars: ✭ 29 (-60.27%)
Mutual labels:  dll-injection
CodeInjection
Code Injection technique written in cpp language
Stars: ✭ 27 (-63.01%)
Mutual labels:  dll-injection

ManagedInjector 💉

NuGet version (HoLLy.ManagedInjector)

With ManagedInjector, you can inject .NET assemblies into other .NET processes. This allows you to run your own code under the context of that process, and gives you access to all its internal state using the .NET reflection API.

Getting started

Currently, only .NET Framework targets are supported. Mono will be supported in the near future and .NET Core/.NET will come soon after that.

For .NET Framework targets, the method to be run after injecting must be of signature static int MyMethod(string).

GUI

The GUI allows you to select a process and DLL in a graphical interface.

Main Window

Entrypoint Selection

CLI

With the CLI application, you can inject DLLs from the comfort of the commandline, or easily script it without having to do any programming.

$ .\ManagedInjector.CLI.exe --help
ManagedInjector.CLI 1.0.0
Copyright (C) 2021 ManagedInjector.CLI

  -n, --name      (Group: process) Specifies the target process name

  -p, --pid       (Group: process) Specifies the target process id

  -i, --input     Required. The DLL to inject

  -t, --type      Required. The full type of the entry point

  -m, --method    Required. The method name of the entry point

  --help          Display this help screen.

  --version       Display version information.
$ .\ManagedInjector.CLI.exe -n Wox -i D:\Injectable.dll -t Injectable.Program -m InjectableMain
PID: 15912
Status: Ok
Arch: NetFrameworkV4
Copied DLL to C:\Users\HoLLy\AppData\Local\Temp\69e4c80c-f828-4f07-bfb3-770c23d4308f.dll
Written to 0x2A389C60000
Thread handle: 00000354

.NET API

With ManagedInjector.Lib, you can integrate ManagedInjector into your own applications with an easy-to-use API.

Note that ManagedInjector.Lib will not move your DLLs to a temporary location. Due to how managed injection works, the files will remain "in use" by the target process until it closes. If you are actively developing your injectable, it is recommended to move it to a temporary location first.

using HoLLy.ManagedInjector;

uint pid = 0x1234;
var process = new InjectableProcess(pid);

Debug.Assert(process.GetStatus() == ProcessStatus.Ok);
Debug.Assert(process.GetArchitecture() == ProcessArchitecture.NetFrameworkV4);

process.Inject("D:\Injectable.DLL", "Injectable.Program", "Main");

Attribution

ManagedInjector uses the following libraries:

  • Iced, licensed under the MIT license

ManagedInjector.CLI uses the following libraries:

ManagedInjector.GUI uses the following libraries:

License

This project is licensed under the MIT License.

TL;DR: You are allowed to anything you wish with this software, as long as you include the original copyright and license notice in your software/source code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].