Maple.Memory 0.1.0

dotnet add package Maple.Memory --version 0.1.0
                    
NuGet\Install-Package Maple.Memory -Version 0.1.0
                    
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="Maple.Memory" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Maple.Memory" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Maple.Memory" />
                    
Project file
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 Maple.Memory --version 0.1.0
                    
#r "nuget: Maple.Memory, 0.1.0"
                    
#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 Maple.Memory@0.1.0
                    
#: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=Maple.Memory&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Maple.Memory&version=0.1.0
                    
Install as a Cake Tool

Maple.Memory

.NET C# Build Status codecov Nuget License

Allocator adapters, primitive read/write facades, and remote x86 call-stub execution for attached Maple process tooling. Windows-only, trimmable and AOT/NativeAOT compatible.

Packages

Package NuGet Description
Maple.Memory Nuget Allocator adapters and higher-level process-memory tooling
Maple.Memory.Execution Nuget Remote x86 call-stub generation and execution helpers

Example

// Attach to a process and read/write primitive values
using var processMemory = new NullProcessMemory();
using var accessor = new MemoryAccessor(processMemory, ownsProcessMemory: false);

// Typed reads: byte, int32, uint32, pointer, bool32
accessor.TryReadInt32(0x00AB_0100u, out int hp);
accessor.TryReadPointer(0x00AB_0200u, out uint baseAddr);

// Typed writes
accessor.TryWriteInt32(0x00AB_0100u, 9999);
accessor.TryWriteByte(0x00AB_0300u, 0xFF);

// Stable reads retry until two consecutive snapshots match
Span<byte> snapshot = stackalloc byte[16];
accessor.TryReadStable(0x00AB_0400u, snapshot, maxAttempts: 3);

Example Catalogue

The following examples are available in ReadMeTest.cs.

Example - ShellcodeFactory

// Build x86 call stubs for remote thread execution
byte[] stdcallStub = Execution.ShellcodeFactory.CreateThreadProcCallStub(
    functionAddress: 0x00AB_CDEFu,
    arguments: [100u, 200u]
);

byte[] cdeclStub = Execution.ShellcodeFactory.CreateThreadProcCallStub(
    functionAddress: 0x00AB_CDEFu,
    arguments: [100u, 200u],
    callingConvention: Execution.X86CallingConvention.Cdecl
);

byte[] thiscallStub = Execution.ShellcodeFactory.CreateThreadProcCallStub(
    functionAddress: 0x00AB_CDEFu,
    arguments: [100u],
    callingConvention: Execution.X86CallingConvention.ThisCall,
    thisPointer: 0xDEAD_BEEFu
);

Public API Reference

See docs/PublicApi.md for the complete auto-generated public API reference.

Note: docs/PublicApi.md is auto-updated by the ReadMeTest_PublicApi test on every dotnet test run. Do not edit it manually.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos 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.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Maple.Memory:

Package Downloads
Maple.Memory.Execution

Remote x86 call-stub generation and execution helpers for attached Maple process tooling.

Maple.Client.V95.Analysis

Snapshot-backed x86 runtime function disassembly helpers for MapleStory GMS v95 client analysis. Windows-only, trimmable and AOT/NativeAOT compatible.

Maple.Client.V95.Runtime

Attached-process runtime helpers for MapleStory GMS v95 client memory access, singleton resolution, and guarded login-flow interaction. Windows-only, trimmable and AOT/NativeAOT compatible.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 161 3/28/2026