After looking at various pages like OSR Online and NtInternals, it seems like NtCreateProcess
(and ZwCreateProcess
) specify that giving a handle to a memory section is optional!
Does this mean that we can have processes that are not backed by executable images? If so, what could they be (or are they) used for potentially? Does that mean we can copy an executable entirely into memory and subsequently even delete the file from the disk, and have the process continue running?? That would seem like a really useful feature.