MemoryEngine 1.4.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package MemoryEngine --version 1.4.7
                    
NuGet\Install-Package MemoryEngine -Version 1.4.7
                    
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="MemoryEngine" Version="1.4.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MemoryEngine" Version="1.4.7" />
                    
Directory.Packages.props
<PackageReference Include="MemoryEngine" />
                    
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 MemoryEngine --version 1.4.7
                    
#r "nuget: MemoryEngine, 1.4.7"
                    
#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 MemoryEngine@1.4.7
                    
#: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=MemoryEngine&version=1.4.7
                    
Install as a Cake Addin
#tool nuget:?package=MemoryEngine&version=1.4.7
                    
Install as a Cake Tool

MemoryEngine 🚀

NuGet Version License

A high-performance, modular Game Hacking & Memory Manipulation Framework written in C# (.NET 6.0+). Supports internal & external tooling, thread-safe offset management, pattern scanning, ICED detours, MinHook detours, event caves, and Windows Forms ESP overlays.


🛠 Features & API Surface

Engine (Engine.cs)

  • Process Connection & Safety: Automatic handle cleanup, IDisposable implementation, administrator privilege checking.
  • Reading: ReadByte, ReadBool, ReadInt16, ReadUInt16, ReadInt32, ReadInt, ReadUInt32, ReadInt64, ReadUInt64, ReadFloat, ReadDouble, ReadString, ReadPointer, ReadPointerChain
  • Writing: WriteByte, WriteBool, WriteInt16, WriteUInt16, WriteInt32, WriteInt, WriteUInt32, WriteInt64, WriteUInt64, WriteFloat, WriteDouble, WriteString
  • Generics: Read<T>() / Write<T>() for unmanaged structs (e.g., Vector3).
  • Patching & Utilities: Nop(address, length), Patch(address, bytes), GetModuleInfo(moduleName)
  • Freezing: Thread-safe constant memory writing via FreezeMemory, FreezeInt, FreezeFloat, FreezeBool, and UnfreezeMemory.

<details> <summary><b>📁 Core Module</b></summary>

  • OffsetManager.cs
    • Thread-safe (ConcurrentDictionary) offset registry with runtime caching and JSON config support.
    • Supports Absolute, ModuleRelative, PointerChain, Pattern, InstructionRelative (RIP-relative x64), and DynamicExpression (Lambda) types.
    • Methods: AddAbsolute, AddModuleRelative (supports Hex strings), AddPointerChain, AddPattern, AddInstructionRelative, AddStructMember, AddDynamic, Resolve, ResolveAllAsync, ExportToJson, LoadFromFile.
  • PatternScanner.cs
    • High-performance AOB signature scanning with wildcard mask support (? / ??).
    • Methods: FindPattern(moduleName, pattern), FindPattern(baseAddress, regionSize, pattern).
  • MemoryAccess.cs
    • Native Win32 P/Invoke wrappers (OpenProcess, ReadProcessMemory, WriteProcessMemory, VirtualAllocEx, VirtualProtectEx, VirtualFreeEx, CloseHandle).
  • HookInfo.cs
    • Data container for active detours (HookAddress, CaveAddress, OriginalBytes). </details>

<details> <summary><b>📁 External Module</b></summary>

  • ExternalHooking.cs
    • Out-of-process assembly detours and code caves using the Iced x86/x64 assembler.
    • Methods: ApplyDetour, ApplyAobDetour, GetOrCreateCave, RegisterSymbol, AllocateVariable<T>, InjectJMP, ReturnEarly, RemoveHook, RemoveAll. </details>

<details> <summary><b>📁 Internal Module</b></summary>

  • InternalHooking.cs & SharedMemoryBridge.cs
    • In-process hook management using MinHook and Iced.
    • Background event loop cave execution via shared memory bridges.
    • Methods: ApplyStandardHook<T>, ApplyCodeCave, ApplyEventCave, SharedMemoryBridge.Read(), SharedMemoryBridge.ResetFlag(). </details>

<details> <summary><b>📁 Game Module</b></summary>

  • ViewMatrix.cs
    • Allocation-free 4x4 matrix projection for 3D World to 2D Screen transformations (WorldToScreen).
    • Supports Column-Major layout, Depth range adjustment, and Y-axis inversion via MatrixSettings.
  • EntityManager.cs (Entity)
    • Universal entity data model with position vector, health, pitch/yaw, and dynamic CustomData dictionary extensions.
  • AimbotMath.cs
    • Calculates Pitch & Yaw angles to target entities. Includes frame-velocity target prediction (CalculateAngle, ClearHistory).
  • GameFunctionCaller.cs
    • Remote function execution via thread creation (CallVoidFunction). </details>

<details> <summary><b>📁 Overlay Module</b></summary>

  • ESP.cs (ESPOverlay)
    • Hardware-accelerated, click-through, transparent Windows Forms overlay running on a background STA thread.
    • Thread-safe data transfer via EspData.LockObject and EspData.Enemies.
    • Configurable rendering via EnemyScreenData (HeadPos, FeetPos, Distance, BoxColor, CustomText). </details>

🚀 Usage Examples

Initialization & Dynamic Offset Resolution

using System;
using MemoryEngine;
using MemoryEngine.Core;

// 1. Setup OffsetManager with fluent registration
var offsets = new OffsetManager()
    .AddPointerChain("Health", "ac_client.exe", "0x109B74", new[] { 0xF8 })
    .AddModuleRelative("LocalPlayer", "ac_client.exe", "0x109B74")
    .AddPattern("AmmoPattern", "ac_client.exe", "FF 0E 5F 5E 8B E5 5D C3");

// 2. Attach Engine
using var engine = new Engine("ac_client");

// 3. Resolve runtime target addresses
IntPtr healthAddr = offsets.Resolve("Health", engine);

// 4. Read & Write
int currentHealth = engine.ReadInt(healthAddr);
engine.WriteInt(healthAddr, 100);

// 5. Freeze memory value
engine.FreezeInt(healthAddr, 100);

Hardware Overlay Rendering (ESP)

using System.Collections.Generic;
using System.Drawing;
using System.Numerics;
using MemoryEngine.Overlay;

// Launch transparent overlay thread
ESP.Launch();

// Inside your main game loop: Update rendered frames
var frameData = new List<EnemyScreenData>
{
    new EnemyScreenData
    {
        HeadPos = new Vector2(960, 300),
        FeetPos = new Vector2(960, 500),
        Distance = 12.5f,
        BoxColor = Color.Red,
        CustomText = "Enemy [100 HP]"
    }
};

lock (EspData.LockObject)
{
    EspData.Enemies = frameData;
}

⚠️ Disclaimer & Limitation of Liability

Educational Purposes Only: This software ("MemoryEngine") is provided solely for educational, research, and reverse-engineering purposes, as well as for single-player application modifications.

No Liability: In no event shall the author(s) or copyright holder(s) be liable for any claim, damages, or other liability—whether in an action of contract, tort, or otherwise—arising from, out of, or in connection with the software or the use or other dealings in the software.

Risk of Misuse & Account Bans: The user assumes full responsibility for any actions taken with this library. The author does not endorse, encourage, or condone the use of this software in online competitive environments, anti-cheat protected software, or any commercial products. The author is strictly not responsible for any account bans, hardware ID bans, financial losses, or software instability resulting from the use or misuse of this code.


📜 License

Licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed.  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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.5.0 88 10/12/2026
1.4.9 90 10/11/2026
1.4.8 93 10/7/2026
1.4.7 99 10/7/2026
1.4.6 107 10/2/2026
1.4.5 108 10/2/2026
1.4.4 94 10/2/2026
1.4.2 104 10/2/2026
1.4.1 102 10/2/2026
1.4.0 95 10/2/2026
1.3.2 225 6/29/2026
1.3.1 136 6/28/2026
1.3.0 132 6/27/2026
1.1.1 148 6/27/2026