public unsafe static int Main()
        {
            // Assign redpill
            byte[] redpill =
            {
                0x0f, 0x01, 0x0d,       // asm SIDT instruction
                0x00, 0x00, 0x00, 0x00, // placeholder for an address
                0xc3
            };                          // asm return instruction

            unsafe
            {
                fixed(byte *matrix = new byte[6],
                      redpillPtr   = redpill)
                {
                    // Move the address of matrix immediately
                    // following the SIDT instruction of memory.
                    *(uint *)&redpillPtr[3] = (uint)&matrix[0];

                    using (VirtualMemoryPtr codeBytesPtr =
                               new VirtualMemoryPtr(redpill.Length))
                    {
                        Marshal.Copy(
                            redpill, 0,
                            codeBytesPtr, redpill.Length);

                        MethodInvoker method =
                            (MethodInvoker)Marshal.GetDelegateForFunctionPointer(
                                codeBytesPtr, typeof(MethodInvoker));

                        method();
                    }
                    if (matrix[5] > 0xd0)
                    {
                        Console.WriteLine("Inside Matrix!\n");
                        return(1);
                    }
                    else
                    {
                        Console.WriteLine("Not in Matrix.\n");
                        return(0);
                    }
                } // fixed
            }     // unsafe
        }
        public unsafe static int Main()
        {
            // Assign redpill 
            byte[] redpill = { 
          0x0f, 0x01, 0x0d,       // asm SIDT instruction
          0x00, 0x00, 0x00, 0x00, // placeholder for an address
          0xc3};                  // asm return instruction

            unsafe
            {
                fixed(byte* matrix = new byte[6],
                    redpillPtr = redpill)
                {
                    // Move the address of matrix immediately 
                    // following the SIDT instruction of memory.
                    *(uint*)&redpillPtr[3] = (uint)&matrix[0];

                    using(VirtualMemoryPtr codeBytesPtr =
                        new VirtualMemoryPtr(redpill.Length))
                    {
                        Marshal.Copy(
                            redpill, 0,
                            codeBytesPtr, redpill.Length);

                        MethodInvoker method =
                            (MethodInvoker)Marshal.GetDelegateForFunctionPointer(
                            codeBytesPtr, typeof(MethodInvoker));

                        method();
                    }
                    if(matrix[5] > 0xd0)
                    {
                        Console.WriteLine("Inside Matrix!\n");
                        return 1;
                    }
                    else
                    {
                        Console.WriteLine("Not in Matrix.\n");
                        return 0;
                    }
                } // fixed
            } // unsafe
        }