Skip to content

Instantly share code, notes, and snippets.

Created February 16, 2013 22:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/4969100 to your computer and use it in GitHub Desktop.
Save anonymous/4969100 to your computer and use it in GitHub Desktop.
unsafe {
var machineCode = new byte[] { 0xc3 };
var execMem = VirtualAlloc(
IntPtr.Zero,
new UIntPtr((uint)machineCode.Length),
AllocationType.COMMIT | AllocationType.RESERVE,
MemoryProtection.EXECUTE_READWRITE
);
Marshal.Copy(machineCode, 0, execMem, machineCode.Length);
var f = (F)Marshal.GetDelegateForFunctionPointer(execMem, typeof(F));
f(); // EVIL
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment