public void VirtualProtectExWriteReadBytes() { // Arrange var handle = MemoryCore.OpenProcess(ProcessAccessFlags.AllAccess, Resources.ProcessTest.Id); var expected = new byte[] { 0x90, 0x90, 0x90, 0x90, 0x90 }; var memory = new IntPtr(0x00400000); // Act try { MemoryCore.ChangeProtection(handle, memory, 5, MemoryProtectionFlags.ExecuteReadWrite); MemoryCore.WriteBytes(handle, memory, expected); var actual = MemoryCore.ReadBytes(handle, memory, 5); // Assert CollectionAssert.AreEqual(expected, actual, "The collections are not equal."); } catch (Win32Exception ex) { Assert.Fail(ex.Message); } }