forked from warbler/SharpMonoInjector
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
10 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,15 @@ | ||
# SharpMonoInjector | ||
SharpMonoInjector is a tool for injecting assemblies into Mono embedded applications, commonly Unity Engine based games. The target process does not have to be restarted in order to inject an updated version of the assembly. Instead, you need to properly eject the assembly which this tool simplifies, and then inject again. | ||
SharpMonoInjector is a tool for injecting assemblies into Mono embedded applications, commonly Unity Engine based games. The target process *usually* does not have to be restarted in order to inject an updated version of the assembly. Your unload method must to destroy all of its resources (such as game objects). | ||
|
||
Support for x64 processes has now been added. | ||
SharpMonoInjector works by dynamically generating machine code, writing it to the target process and executing it using CreateRemoteThread. The code calls functions in the mono embedded API. The return value is obtained with ReadProcessMemory. | ||
|
||
Both x86 and x64 processes are supported. | ||
|
||
In order for the injector to work, the load/unload methods need to match the following method signature: | ||
|
||
```sh | ||
static void Method() | ||
``` | ||
# Note | ||
Processes running the newer mono runtime (mono-2.0-bdwgc.dll) are currently not injectable with this tool. The process crashes when executing mono_thread_attach(), and that's about all I know at the moment. I will fix this whenever I have time for it. | ||
static void Method() | ||
|
||
In [releases](https://github.com/warbler/SharpMonoInjector/releases), there is a console application and a GUI application available. | ||
|
||
![The GUI application](https://i.imgur.com/mPMwlu1.png) | ||
![The console application](https://i.imgur.com/cz8Gyxa.png) |