Interface ShellcodeConfig

ShellcodeConfig - options used when generating shellcode output.

Note: Most fields map to Donut options for Windows shellcode generation. On macOS (darwin/arm64), only Compress is currently used (beignet aPLib).

interface ShellcodeConfig {
    Bypass: number;
    Compress: number;
    Entropy: number;
    ExitOpt: number;
    Headers: number;
    OEP: number;
    Thread: boolean;
    Unicode: boolean;
}

Properties

Bypass: number

1=none, 2=abort on failure, 3=continue on failure (Windows/Donut only)

Compress: number

1=none, 2=aplib (Windows/Donut + macOS/beignet)

Entropy: number

1=none, 2=random names, 3=random names + symmetric encryption (Windows/Donut only)

ExitOpt: number

1=exit thread, 2=exit process, 3=block (Windows/Donut only)

Headers: number

1=overwrite headers, 2=keep headers (Windows/Donut only)

OEP: number

Override original entry point (0 = default) (Windows/Donut only)

Thread: boolean

Run unmanaged EXE entrypoint as a new thread (Windows/Donut only)

Unicode: boolean

Convert command line to Unicode for unmanaged DLL entrypoints (Windows/Donut only)