If the partition (file mapping on win32 land) is NULL, it uses the partition of the parent process. Perhaps you can use NULL and allocate new memory in it and specify EIP (or use page file mapping), but using NtCreateProcess is problematic, it is undocumented and is not registered in the win32 subsystem, for example CreateProcess. (If you want to use export from ntdll, this might be ok)
In Win9x, NT4, and 2000, you can remove yourself from disk during operation using the following tricks here .
Other parameters:
- Use a driver, they can be removed after they are downloaded (sysinternal tools do this)
- -; start explorer.exe, cmd.exe rundll32.exe CreateRemoteThread + (, , exe , )