MemoryEngine 1.1.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package MemoryEngine --version 1.1.1
NuGet\Install-Package MemoryEngine -Version 1.1.1
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.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MemoryEngine" Version="1.1.1" />
<PackageReference Include="MemoryEngine" />
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.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MemoryEngine, 1.1.1"
#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.1.1
#: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.1.1
#tool nuget:?package=MemoryEngine&version=1.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MemoryEngine
MemoryEngine is a lightweight, external C# library built to simplify game memory manipulation and 3D-to-2D screen projection for ESP (Extra Sensory Perception) overlays. It is designed for educational purposes in the field of reverse engineering and game engine architecture.
Features
- External Memory Access: Read integers, floats, and pointers from target process memory without the need for DLL injection.
- Module Support: Automatically calculate base addresses to handle dynamic memory allocation.
- Universal ViewMatrix: A highly configurable projection engine that translates 3D game coordinates to 2D screen pixels for any game engine.
- Zero Dependencies: Pure C# implementation using
System.DiagnosticsandSystem.Numerics.
Core Classes
1. Engine Class
Handles the communication with the target process.
ReadMemory(IntPtr address, int size): Reads raw bytes from memory.ReadPointer(IntPtr address): Follows a memory address to retrieve a base pointer.ReadFloat(IntPtr address)/ReadInt(IntPtr address): Convenience wrappers for data types.
2. ViewMatrix Class
Handles the linear algebra required for ESP.
ViewMatrix.FromBytes(...): Converts raw memory bytes into a structured 4x4 matrix.WorldToScreen(...): Projects 3D world coordinates into 2D overlay coordinates.
Usage Example
using MemoryEngine;
using System.Numerics;
// 1. Initialize the Engine
Engine engine = new Engine("game_process_name", force32Bit: true);
// 2. Configure Projection Settings (Universal across engines)
MatrixSettings settings = new MatrixSettings {
IsColumnMajor = false,
IsZeroToOneRange = false,
InvertY = true
};
// 3. Main Loop Logic
void Update()
{
// Fetch Matrix and Entity List
byte[] mBytes = engine.ReadMemory((IntPtr)0x501AE8, 64);
ViewMatrix matrix = ViewMatrix.FromBytes(mBytes, settings);
IntPtr entityList = engine.ReadPointer(engine.ModuleBase + 0x10F4F8);
int numEntities = engine.ReadInt(engine.ModuleBase + 0x10F500);
for (int i = 0; i < numEntities; i++)
{
IntPtr entity = engine.ReadPointer(entityList + (i * 4));
// Read coordinates
float x = engine.ReadFloat(entity + 0x34);
float y = engine.ReadFloat(entity + 0x38);
float z = engine.ReadFloat(entity + 0x3C);
// Project to screen
if (matrix.WorldToScreen(new Vector3(x, y, z), out Vector2 screenPos, width, height))
{
// Draw your ESP element here
DrawBox(screenPos);
}
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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.
-
net6.0
- Fasm.NET (>= 1.70.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.