Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 4 days 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 (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T14:12:36.000Z (18 days ago)
- Last Synced: 2024-10-29T17:21:45.433Z (18 days ago)
- Topics: c, csharp, dotnet, hooking, injection, modding
- Language: C#
- Homepage: https://docs.vezel.dev/ruptura
- Size: 1.57 MB
- Stars: 36
- Watchers: 2
- 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](https://img.shields.io/github/license/vezel-dev/ruptura?color=brown)](LICENSE-0BSD)
[![Commits](https://img.shields.io/github/commit-activity/m/vezel-dev/ruptura/master?label=commits&color=slateblue)](https://github.com/vezel-dev/ruptura/commits/master)
[![Build](https://img.shields.io/github/actions/workflow/status/vezel-dev/ruptura/build.yml?branch=master)](https://github.com/vezel-dev/ruptura/actions/workflows/build.yml)
[![Discussions](https://img.shields.io/github/discussions/vezel-dev/ruptura?color=teal)](https://github.com/vezel-dev/ruptura/discussions)
[![Discord](https://img.shields.io/badge/discord-chat-7289da?logo=discord)](https://discord.gg/wtzCfaX2Nj)
[![Zulip](https://img.shields.io/badge/zulip-chat-394069?logo=zulip)](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).