[DllImport("kernel32.dll")]
static extern IntPtr CreateRemoteThread(IntPtr hProcess,
IntPtr lpThreadAttributes, uint dwStackSize, ThreadStartDelegate
lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);
[DllImport("kernel32.dll")]
static extern IntPtr CreateRemoteThread(IntPtr hProcess,
IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress,
IntPtr lpParameter, uint dwCreationFlags, out IntPtr lpThreadId);
[DllImport("kernel32")]
def CreateRemoteThread(hProcess as IntPtr, lpThreadAttributes as IntPtr, dwStackSize as UInt32, lpStartAddress as IntPtr, lpParameter as IntPtr, dwCreationFlags as UInt32, ref lpThreadId as IntPtr) as IntPtr:
pass
None.
None.
Please add some!
Here's a sample of using CreateRemoteThread from C#: http://blogs.msdn.com/jmstall/archive/2006/09/28/managed-create-remote-thread.aspx
The key is to use Marshal.GetFunctionPointerForDelegate to get an IntPtr to the method that will serve as the thread proc.
Do you know one? Please contribute it!