← Back to Dashboard

Shoggoth

// Polymorphic Shellcode Engine Masterclass

8
Modules
C++
Language
x86/x64
Architecture
3
Difficulty Tiers

An asmjit-based polymorphic encryptor for shellcode, PE files, and COFF files. Shoggoth generates unique position-independent output each time by chaining random encryption operations with dynamically assembled decoder stubs — defeating static signatures through true polymorphism. By frkngksl.

01 Beginner

Signature-Based Detection & Why Polymorphism

Static signatures, YARA rules, pattern matching, and why simple encoding or single-key encryption is never enough to evade modern detection.

02 Beginner

Polymorphic Engines: Concepts

What polymorphism means in malware, metamorphic vs polymorphic, historical virus engines, and the core principles behind self-mutating code.

03 Beginner

asmjit: Runtime Code Generation

What asmjit is, JIT assembly in C++, CodeHolder and x86::Assembler APIs, and why runtime code generation is perfect for dynamic stub creation.

04 Intermediate

Shoggoth Architecture Overview

The encoder pipeline from input to encrypted PIC blob: payload ingestion, loader merging, encryption stages, stub generation, and the three output modes.

05 Intermediate

The Encryption Layer

Two-stage encryption: RC4 stream cipher and random block cipher with XOR, ADD, SUB, ROL, ROR, NOT, NEG, INC, DEC operations and random key generation.

06 Intermediate

Decoder Stub Generation

asmjit emitting x86/x64 instructions, register randomization, building the RC4 and block cipher decryption stubs, and how each invocation produces unique machine code.

07 Advanced

Junk Code & Anti-Analysis

Dead code insertion, opaque predicates, register shuffling, jump-over blocks, fake function calls, and recursive garbage generation strategies.

08 Advanced

Full Chain, Output Formats & Detection

PIC output structure, COFF/PE wrapping, entropy analysis, emulation-based detection, and comparison with Veil, msfvenom, and other encoder frameworks.

References & Resources