public static extern bool VirtualProtect(IntPtr lpAddress, uint dwSize, ProtectCode flNewProtect, out uint lpflOldProtect);
public static extern bool VirtualProtectEx(IntPtr hProcess, IntPtr lpAddress, UIntPtr dwSize, ProtectCode flNewProtect, out ProtectCode lpflOldProtect);
private bool Protect(void *Base, uint Size, ProtectCode ProtectCode = ProtectCode.PAGE_EXECUTE_READWRITE) => NativeMethods.VirtualProtect((IntPtr)Base, Size, ProtectCode, out uint Old_Protect);
public bool Protect(IntPtr address, uint size, ProtectCode protectCode, out ProtectCode oldProtect) => Kernel32.VirtualProtectEx(Handle, address, (UIntPtr)size, protectCode, out oldProtect);