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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.3 898 11/3/2017
1.0.2 605 11/3/2017