Nutdeep 1.0.3

A light memory manager library made by C# lovers

Install-Package Nutdeep -Version 1.0.3
dotnet add package Nutdeep --version 1.0.3
<PackageReference Include="Nutdeep" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Nutdeep --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Nutdeep v1.0.3 NutdeepIcon

Nutdeep - A light memory manager library made by C# lovers

Click here to check our Console APP example

Nuget URL

  • Package Manager
    • Install-Package Nutdeep -Version 1.0.3
  • .NET CLI
    • dotnet add package Nutdeep --version 1.0.3

ProcessHandler

By string

using (var handler = new ProcessHandler("ProcessName")) { ... }

By process id (System.Int32)

using (var handler = new ProcessHandler(ProcessId)) { ... }

By process (System.Diagnostics.Process)

using (var handler = new ProcessHandler(Process)) { ... }

If you are looking for Chrome Showckwave Flash process

using (var handler = new ProcessHandler("chrome&flash")) { ... }

You can find easily process that runs FlashPlayer this way

//using System.Linq
var flashPlayerProcesses = Process.GetProcesses()
  .Where(p => p.RunsFlashPlayer()).ToArray();

MemoryScanner

using (var handler = new ProcessHandler(//))
{
  //MemoryScanner needs for ProcessAccess (ProcessHandler : ProcessAccess)
  MemoryScanner scanner = new MemoryScanner(handler);
  scanner.SetSettings(new ScanSettings(writable: ScanType.ONLY));
  
  /.../
}

Click here to check how ScanSettings is setup by default (that will be the setup if you dont specific it)

To perfom a scan

var addresses = scanner.SearchFor<T>(T obj);

Scan by signature

var addresses = scanner.SearchFor<Signature>("0I ?? LO ?? VE ?? CO ?? ?? DE");

To perform a next scan

var nextAddresses = scanner.NextSearchFor<T>(IntPtr[] addresses, T obj);

Next scan by signature

var nextAddresses = scanner.NextSearchFor<Signature>(addresses, "0I ?? LO ?? VE ?? CO ?? ?? DE");

MemoryDumper

using (var handler = new ProcessHandler(//))
{
  //MemoryDumper needs for ProcessAccess (ProcessHandler : ProcessAccess)
  MemoryDumper dumper = new MemoryDumper(handler);
  
  /.../
}

Read memory this way

var object = dumper.Read<T>(IntPtr address);

When T is String or Byte[] you can also define a length as the following

var byteArray = dumper.Read<byte[]>(IntPtr address, 16);
var str = dumper.Read<string>(IntPtr address, 16);

MemoryEditor

using (var handler = new ProcessHandler(//))
{
  //MemoryDumper needs for ProcessAccess (ProcessHandler : ProcessAccess)
  MemoryEditor editor = new MemoryEditor(editor);
  
  /.../
}

Edit memory this way

editor.Write(IntPtr address, T obj);

Where T might be:

  • Char
  • Single
  • Byte[]
  • String
  • Boolean
  • Decimal
  • Int16/UInt16
  • Int32/UInt32
  • Int64/UInt64
  • Signature : String (Only for MemoryScan)

Nutdeep v1.0.3 NutdeepIcon

Nutdeep - A light memory manager library made by C# lovers

Click here to check our Console APP example

Nuget URL

  • Package Manager
    • Install-Package Nutdeep -Version 1.0.3
  • .NET CLI
    • dotnet add package Nutdeep --version 1.0.3

ProcessHandler

By string

using (var handler = new ProcessHandler("ProcessName")) { ... }

By process id (System.Int32)

using (var handler = new ProcessHandler(ProcessId)) { ... }

By process (System.Diagnostics.Process)

using (var handler = new ProcessHandler(Process)) { ... }

If you are looking for Chrome Showckwave Flash process

using (var handler = new ProcessHandler("chrome&flash")) { ... }

You can find easily process that runs FlashPlayer this way

//using System.Linq
var flashPlayerProcesses = Process.GetProcesses()
  .Where(p => p.RunsFlashPlayer()).ToArray();

MemoryScanner

using (var handler = new ProcessHandler(//))
{
  //MemoryScanner needs for ProcessAccess (ProcessHandler : ProcessAccess)
  MemoryScanner scanner = new MemoryScanner(handler);
  scanner.SetSettings(new ScanSettings(writable: ScanType.ONLY));
  
  /.../
}

Click here to check how ScanSettings is setup by default (that will be the setup if you dont specific it)

To perfom a scan

var addresses = scanner.SearchFor<T>(T obj);

Scan by signature

var addresses = scanner.SearchFor<Signature>("0I ?? LO ?? VE ?? CO ?? ?? DE");

To perform a next scan

var nextAddresses = scanner.NextSearchFor<T>(IntPtr[] addresses, T obj);

Next scan by signature

var nextAddresses = scanner.NextSearchFor<Signature>(addresses, "0I ?? LO ?? VE ?? CO ?? ?? DE");

MemoryDumper

using (var handler = new ProcessHandler(//))
{
  //MemoryDumper needs for ProcessAccess (ProcessHandler : ProcessAccess)
  MemoryDumper dumper = new MemoryDumper(handler);
  
  /.../
}

Read memory this way

var object = dumper.Read<T>(IntPtr address);

When T is String or Byte[] you can also define a length as the following

var byteArray = dumper.Read<byte[]>(IntPtr address, 16);
var str = dumper.Read<string>(IntPtr address, 16);

MemoryEditor

using (var handler = new ProcessHandler(//))
{
  //MemoryDumper needs for ProcessAccess (ProcessHandler : ProcessAccess)
  MemoryEditor editor = new MemoryEditor(editor);
  
  /.../
}

Edit memory this way

editor.Write(IntPtr address, T obj);

Where T might be:

  • Char
  • Single
  • Byte[]
  • String
  • Boolean
  • Decimal
  • Int16/UInt16
  • Int32/UInt32
  • Int64/UInt64
  • Signature : String (Only for MemoryScan)

Release Notes

Minor changes on how we setup the envinroment

Dependencies

This package has no dependencies.

Version History

Version Downloads Last updated
1.0.3 470 11/3/2017
1.0.2 382 11/3/2017