NoLogos.MRWL
0.1.4
dotnet add package NoLogos.MRWL --version 0.1.4
NuGet\Install-Package NoLogos.MRWL -Version 0.1.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NoLogos.MRWL" Version="0.1.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NoLogos.MRWL" Version="0.1.4" />
<PackageReference Include="NoLogos.MRWL" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NoLogos.MRWL --version 0.1.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NoLogos.MRWL, 0.1.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NoLogos.MRWL@0.1.4
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NoLogos.MRWL&version=0.1.4
#tool nuget:?package=NoLogos.MRWL&version=0.1.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MRWL
A simple raw memory reading and writing library for .NET, Windows only.
Install
dotnet add package NoLogos.MRWL
Usage
using MRWL;
RWL rwl = new RWL("target_process");
IntPtr moduleBase = rwl.GetModuleBase("target_process.dll");
int health = rwl.ReadInt(moduleBase + 0x1A2B3C);
rwl.WriteInt(moduleBase + 0x1A2B3C, 100);
IntPtr finalAddress = rwl.ReadPointer(moduleBase, new[] { 0x10, 0x20 });
int value = rwl.ReadInt(finalAddress);
rwl.Close();
Features
- Read/Write all common types:
bool,byte,sbyte,short,ushort,int,uint,long,ulong,float,double,decimal,char,string,byte[] - Numerics support:
Vector2/3/4,Quaternion,Matrix4x4,Matrix3x2,Plane,Complex - Pointer chains:
rwl.ReadPointer(baseAddress, new[] { 0x10, 0x20 }) - Pattern scanning:
rwl.FindPattern("client.dll", "48 8B 05 ?? ?? ?? ??")
For direct access without the RWL wrapper, use MemoryIO.Read<T> or MemoryIO.Write<T> with a process handle from MemoryIO.OpenTargetProcess(pid).
Functions
- Read/Write Most read functions are just Read{Type}(IntPtr address), returning the value. Write functions are Write{Type}(IntPtr address, {Type} value).
ReadString/WriteStringare the exception — see below. - Module addresses
GetModuleBasereturns anIntPtr, ready to pass straight into a Read/Write call. - Pattern scanning
FindPattern(moduleName, signature, offset = 0)returns anint— cast toIntPtrbefore passing into a Read/Write call.signatureis a space-separated list of hex bytes; use??,?,*, or**as a wildcard byte.offsetis added to the match address before it's returned. - Pointers The pointer function has two forms, chained and single. The chained form takes an array of ints counted as offsets from the base address; the single form takes just one int offset. Both take an
IntPtrbase address and return anIntPtr. - Reading/Writing bytes
ReadBytes(IntPtr address, int length)readslengthbytes starting at the address.WriteBytes(IntPtr address, byte[] buffer)writes the given buffer starting at the address. - Strings
ReadString(IntPtr address, int length)readslengthbytes and decodes them as UTF-8.WriteString(IntPtr address, string value)encodes the string as UTF-8 and writes it. - Close
rwl.Close()releases the underlying process handle — call it when you're done with anRWLinstance.
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0-windows7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.