A Windows memory editing library written in C# that supports several memory editing methods.
- Allocate Memory
- Free Memory
- Protect Memory
- Read Memory
- Write Memory
- Pattern Scanning with support for wildcard bytes
- Download and install Jupiter using NuGet
You can overload any method with the processes id instead of the processes name
using Jupiter;
var memoryModule = new MemoryModule();
// Allocate memory in a remote process
var allocatedMemoryAddress = memoryModule.AllocateMemory("processName", size);
using Jupiter;
var memoryModule = new MemoryModule();
// Free memory in a remote process at an address
memoryModule.FreeMemory("processName", address);
using Jupiter;
var memoryModule = new MemoryModule();
// Protect memory in a remote process at an address
memoryModule.ProtectMemory("processName", address, size, protectionConstant);
using Jupiter;
var memoryModule = new MemoryModule();
// Read a byte array from a remote process at an address
var memoryBytes = memoryModule.ReadMemory("processName", address, size);
// Read a structure from a remote process at an address
var memoryBoolean = memoryModule.ReadMemory<bool>("processName", address);
// Read a string from a remote process at an address
var memoryStringBytes = memoryModule.ReadMemory("processName", address, sizeOfString);
var memoryString = Encoding.Default.GetString(memoryStringBytes);
using Jupiter;
var memoryModule = new MemoryModule();
// Write a byte array, structure or string into a remote process at an address
memoryModule.WriteMemory("processName", address, object);
using Jupiter;
var memoryModule = new MemoryModule();
// Find the addresses where a pattern appears in a remote process
var patternAddresses = memoryModule.PatternScan("processName", IntPtr.Zero, "45 FF ?? 01 ?? ?? 2A");
Pull requests are welcome.
For large changes, please open an issue first to discuss what you would like to add.