https://github.com/vezel-dev/ruptura
A Windows DLL injection, function interception, and memory manipulation library for .NET.
https://github.com/vezel-dev/ruptura
c csharp dotnet hooking injection modding
Last synced: 11 months ago
JSON representation
A Windows DLL injection, function interception, and memory manipulation library for .NET.
- Host: GitHub
- URL: https://github.com/vezel-dev/ruptura
- Owner: vezel-dev
- License: 0bsd
- Created: 2022-06-22T19:24:03.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-19T04:17:19.000Z (11 months ago)
- Last Synced: 2025-04-28T22:32:34.823Z (11 months ago)
- Topics: c, csharp, dotnet, hooking, injection, modding
- Language: C#
- Homepage: https://docs.vezel.dev/ruptura
- Size: 1.6 MB
- Stars: 42
- Watchers: 1
- Forks: 2
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE-0BSD
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Ruptura
A Windows DLL injection, function interception, and memory manipulation
library for .NET.
[](LICENSE-0BSD)
[](https://github.com/vezel-dev/ruptura/commits/master)
[](https://github.com/vezel-dev/ruptura/actions/workflows/build.yml)
[](https://github.com/vezel-dev/ruptura/discussions)
[](https://discord.gg/wtzCfaX2Nj)
[](https://vezel.zulipchat.com)
--------------------------------------------------------------------------------
**Ruptura** provides a set of libraries that make it easy to inject a managed
.NET assembly into arbitrary Windows (and Wine) processes for the purposes of
function hooking and memory manipulation.
**Ruptura** injects a bundled native module into the target process, which then
locates the .NET runtime in either framework-dependent or self-contained mode
and initializes it, after which a user-specified managed assembly is executed -
all without the user writing a single line of native code. Additionally, a
library facilitating common function hooking and memory manipulation scenarios
is available for use by the injected assembly.
## Usage
This project offers the following packages:
| Package | Description | Downloads |
| -: | - | :- |
| [![Vezel.Ruptura.Injection][injection-img]][injection-pkg] | Provides the infrastructure to inject the .NET runtime and assemblies into processes. | ![Downloads][injection-dls] |
| [![Vezel.Ruptura.Hosting][hosting-img]][hosting-pkg] | Provides the hosting model for injected programs. | ![Downloads][hosting-dls] |
| [![Vezel.Ruptura.Memory][memory-img]][memory-pkg] | Provides function hooking, memory manipulation, and call tracing utilities. | ![Downloads][memory-dls] |
| [![Vezel.Ruptura.System][system-img]][system-pkg] | Provides lightweight managed wrappers around operating system objects such as processes and threads. | ![Downloads][system-dls] |
[injection-pkg]: https://www.nuget.org/packages/Vezel.Ruptura.Injection
[hosting-pkg]: https://www.nuget.org/packages/Vezel.Ruptura.Hosting
[memory-pkg]: https://www.nuget.org/packages/Vezel.Ruptura.Memory
[system-pkg]: https://www.nuget.org/packages/Vezel.Ruptura.System
[injection-img]: https://img.shields.io/nuget/v/Vezel.Ruptura.Injection?label=Vezel.Ruptura.Injection
[hosting-img]: https://img.shields.io/nuget/v/Vezel.Ruptura.Hosting?label=Vezel.Ruptura.Hosting
[memory-img]: https://img.shields.io/nuget/v/Vezel.Ruptura.Memory?label=Vezel.Ruptura.Memory
[system-img]: https://img.shields.io/nuget/v/Vezel.Ruptura.System?label=Vezel.Ruptura.System
[injection-dls]: https://img.shields.io/nuget/dt/Vezel.Ruptura.Injection?label=
[hosting-dls]: https://img.shields.io/nuget/dt/Vezel.Ruptura.Hosting?label=
[memory-dls]: https://img.shields.io/nuget/dt/Vezel.Ruptura.Memory?label=
[system-dls]: https://img.shields.io/nuget/dt/Vezel.Ruptura.System?label=
To install a package, run `dotnet add package `.
See the [sample programs](src/samples) for examples of what the API can do. The
samples can be run with
[`dotnet example`](https://github.com/patriksvensson/dotnet-example).
For more information, please visit the
[project home page](https://docs.vezel.dev/ruptura).
## Building
You will need the .NET SDK and Visual Studio with C/C++ support installed.
Simply run `./cake` (a [Bash](https://www.gnu.org/software/bash) script) to
build artifacts. You can also use `./cake pack` if you do not want to build the
documentation (which requires Node.js).
These commands will use the `Debug` configuration by default, which is suitable
for development and debugging. Pass `-c Release` instead to get an optimized
build.
## License
This project is licensed under the terms found in
[`LICENSE-0BSD`](LICENSE-0BSD).