Process Creation
DioProcess provides 7 process creation techniques for security research, from simple CreateProcess to advanced fileless execution methods.
Available Methods
1. Normal CreateProcess
BasicStandard process creation via CreateProcessW. Optionally create suspended or with Block DLL Policy.
create.rsFunction:
create_process()2. PPID Spoofing
EvasionCreate a process that appears as a child of a different parent process usingPROC_THREAD_ATTRIBUTE_PARENT_PROCESS.
ppid_spoof.rsFunction:
create_ppid_spoofed_process()3. Process Hollowing
AdvancedCreate a legitimate process suspended, unmap its image, map payload PE, fix relocations, patch PEB, and hijack thread execution.
- Create host process SUSPENDED
- Get PEB address via thread context (Rdx)
- Unmap original image via
NtUnmapViewOfSection - Allocate memory at payload's preferred base
- Write PE headers and sections individually
- Apply base relocations if needed
- Patch PEB.ImageBaseAddress
- Fix per-section memory permissions
- Hijack thread entry point (RCX)
- Resume thread
hollow.rsFunction:
hollow_process()4. Process Ghosting
FilelessCreate a process whose backing file no longer exists on disk. Uses delete-pending file state to create an orphaned image section.
- Create temp file, open with DELETE permission
- Mark for deletion via
NtSetInformationFile(FileDispositionInformation) - Write payload via
NtWriteFile - Create
SEC_IMAGEsection viaNtCreateSection - Close file handle (file deleted, section survives)
- Create process via
NtCreateProcessEx - Set up PEB, process parameters, environment
- Create initial thread via
NtCreateThreadEx
ghost.rsFunction:
ghost_process()5. Ghostly Hollowing
CombinedCombines process ghosting with hollowing. Ghost section mapped into a suspended legitimate process, then thread hijacked.
ghostly_hollow.rsFunction:
ghostly_hollow_process()6. Process Herpaderping
AV EvasionWrite payload to temp file, create image section, create process, then overwrite temp file with legitimate PE. AV sees legit PE on disk, but payload runs in memory.
herpaderp.rsFunction:
herpaderp_process()Note
7. Herpaderping Hollowing
CombinedCombines herpaderping with hollowing. Payload section mapped into suspended legit process, temp file overwritten with legit PE, thread hijacked.
herpaderp_hollow.rsFunction:
herpaderp_hollow_process()Usage
Access process creation via the UI:
- • Normal/PPID Spoofing/Hollowing — "Create Process" button in Process tab toolbar
- • Ghosting — "Ghost Process" button in Process tab toolbar
- • Ghostly Hollowing/Herpaderping — Utilities tab
Method Comparison
| Method | File on Disk | Host Process | Evasion Level |
|---|---|---|---|
| Normal | Required | Own process | Low |
| PPID Spoofing | Required | Own process | Medium |
| Hollowing | Required | Legit process | Medium |
| Ghosting | Deleted | Own process | High |
| Ghostly Hollowing | Deleted | Legit process | Very High |
| Herpaderping | Overwritten | Own process | High |
| Herpaderping Hollowing | Overwritten | Legit process | Very High |