public static bool SetPageProtection(IntPtr baseAddress, int size, Enums.MemoryProtection newProtection, out Enums.MemoryProtection oldProtection) { bool res = PInvoke.VirtualProtect(baseAddress, size, newProtection, out var oldProtect); oldProtection = oldProtect; return(res); }
public static extern bool VirtualProtect(IntPtr lpAddress, int dwSize, Enums.MemoryProtection flNewProtect, out Enums.MemoryProtection lpflOldProtect);
public static extern IntPtr VirtualAlloc(IntPtr lpAddress, UIntPtr dwSize, Enums.AllocationType lAllocationType, Enums.MemoryProtection flProtect);
public static IntPtr Allocate(uint size, Enums.AllocationType flAllocType = Enums.AllocationType.Commit | Enums.AllocationType.Reserve, Enums.MemoryProtection flMemProtectType = Enums.MemoryProtection.ExecuteReadWrite) => PInvoke.VirtualAlloc(IntPtr.Zero, new UIntPtr(size), flAllocType, flMemProtectType);
internal static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, Enums.AllocationType flAllocationType, Enums.MemoryProtection flProtect);