@@ -15,28 +15,26 @@ CLI tool that can replace C# methods in .NET Core applications
15
15
- Node.js: https://nodejs.org/en/download/
16
16
- frida: https://frida.re
17
17
18
- ### Installation on Windows
18
+ ### Installation
19
19
20
20
Open command line and run this script
21
21
22
+ - ` _build.sh ` on Linux
23
+ - ` _build.bat ` on Windows
24
+
22
25
It will build
23
26
24
27
- Node.js package [ net-core-injector] ( package.json ) - DLL-injector written in TypeScript
25
28
- [ Bootstrapper] ( Bootstrapper ) - helper native library written in C++ to interact with .NET Core runtime
26
29
- [ DemoApplication] ( DemoApplication ) - test application to demonstrate how it works
27
30
- [ RuntimePatcher] ( RuntimePatcher ) - code that attaches to [ DemoApplication] ( DemoApplication )
28
31
29
- ```
30
- _build.bat
31
- ```
32
-
33
32
### Running
34
33
35
34
This script should produce output like the GIF above
36
35
37
- ```
38
- _run.bat
39
- ```
36
+ - ` _run.sh ` on Linux
37
+ - ` _run.bat ` on Windows
40
38
41
39
### Internal documentation
42
40
@@ -50,8 +48,8 @@ I did it in [`Bootstrapper/src/library.cpp`](Bootstrapper/src/library.cpp).
50
48
51
49
[ ` net-core-injector/src/main.ts ` ] ( src/main.ts ) injects ` Bootstrapper.dll ` into C# process and loads custom assembly
52
50
53
-
54
51
The following command runs ` DemoApplication.exe ` on another thread and injects code.
52
+
55
53
```
56
54
start DemoApplication\dist\DemoApplication.exe
57
55
@@ -64,6 +62,7 @@ RuntimePatcher\dist\RuntimePatcher.dll ^
64
62
```
65
63
66
64
Then the execution happens in this order:
65
+
67
66
1 . get into ` DemoApplication.exe ` process memory via DLL-injection of ` Bootstrapper.dll `
68
67
2 . call native C++ code
69
68
``` cpp
@@ -86,4 +85,4 @@ You can use this to mod games written in C# or to patch any software
86
85
87
86
### TODO
88
87
89
- - Linux support is incomplete due to some issues with the secondary host context in `hostfxr`
88
+ - I don't have macOS device so it's supported for now. External contributors are welcome.
0 commit comments