Library for memory manipulating, get regions, set rights, use pattern scan, calculate offsets, validate pointers and etc
Mem.GetAllRegions()// All regions, even free
Mem.GetRegions(mbi => ...)// Regions adopting the condition in the argumentsMem.GetAccesibleRegions()// Commited regions without Guard that has access flags
Mem.GetCommitedRegions()// All Commited regions
Mem.GetReadableRegions()// Regions available for reading
Mem.GetWriteableRegions()// Regions available for writingMem.CreatePattern("0 2F 90 ?")// 00 2F 90 ??
Mem.CreatePattern("0 0x2F 90 ?????")// 00 2F 90 ??
Mem.CreatePattern("00 2F 90 .")// 00 2F 90 ??
Mem.CreatePattern(2d)// 40 00 00 00 00 00 00 00// So work for all primitive types
Mem.CreatePattern([0,0x2F,0x90,null])// 00 2F 90 ??varregions= ...;varpattern= ...;varfound=Mem.Scan(pattern,regions);varpointer= ...;varisValid=Mem.IsValid(pointer);// Checks if the pointer is inside the commited regionvarpointer= ...;varshifted=Mem.CalcOffsets(pointer,0,8,0x90,0);/* Alternative for: var shifted = *(nint*)(*(nint*)(*(nint*)(*(nint*)(pointer + 0) + 8) + 0x90) + 0);*/DotnetNativeBase
Yotic.Memory.Extensions
| Start ordinal | Framework | Description | Date |
|---|---|---|---|
| 1.0.0 | .net8.0 | Published | Apr 29, 2024 |
| .net8.0 | Changed framework | Apr 26, 2024 | |
| .net7.0 | Sep 28, 2023 |