https://github.com/aevitas/bluerain
BlueRain is a fully-featured, managed memory manipulation library written in C#
https://github.com/aevitas/bluerain
c-sharp memory process-manipulation
Last synced: 5 months ago
JSON representation
BlueRain is a fully-featured, managed memory manipulation library written in C#
- Host: GitHub
- URL: https://github.com/aevitas/bluerain
- Owner: aevitas
- License: apache-2.0
- Created: 2015-04-21T14:50:26.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2021-12-31T10:43:38.000Z (over 4 years ago)
- Last Synced: 2025-09-07T19:43:29.737Z (10 months ago)
- Topics: c-sharp, memory, process-manipulation
- Language: C#
- Homepage:
- Size: 144 KB
- Stars: 37
- Watchers: 8
- Forks: 14
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

BlueRain
=====
Managed, fully featured memory manipulation library written in (mostly) C# providing an easy to use API.
BlueRain is essentially a continuation of Hyperion, and is currently the only open-source part of the xRain framework.
Main project goals:
* Provide a safe, easy to use API for common memory manipulation requirements
* Reasonable performance (1)
* Support for both internal and external memory operations
* Provide a concise, testable core library for third party developers
* Maintain a thoroughly documented codebase
(1) - Reasonable in this scope is defined as "good performance within idiomatic C#". This means that when the choice can be made between a hack that isn't idiomatic C#, but is faster, and an idiomatic C# solution, the idiomatic solution will be preferred.
License
=====
BlueRain is licensed under the very permissive Apache 2.0 license. Any submodules or dependencies may be under different licenses.
API
=====
The main API of BlueRain is exposed through two types:
* `ExternalProcessMemory` for external process manipulation - can be used on any process
* `InternalProcessMemory` for internal (injected) process manipulation - requires the CLR to be present
Both implement the `NativeMemory` base class, and provide various generic `Read` and `Write` methods, as well as implementation-specific other members.
Most of the API is IntelliSense documented - IntelliSense XML can be generated on build.
Tests
=====
BlueRain uses MSTest for its unit tests. These are contained in a stand-alone BlueRain.Tests solution. While the aim is to attain 100% coverage, coverage should never fall below 75%.
Contributing
=====
Pull requests are very welcome, as long as they are accompanied by an issue with a clear description of what problem the PR is addressing. Please be as detailed as possible in your issue reports.