Shellcode Encoder x86/x64
$99.99
Shellcode Encoder — Real NASM Stubs for x86 and x64
Encoder that emits position-independent shellcode decoding an embedded payload at runtime. Every scheme ships a real hand-verified NASM decoder stub for BOTH x86 and x64 (10 stubs), plus an AES-128-CTR encryption scheme.
- PIC schemes: xor-rolling, rc4 (in-stub key schedule), sub-add (bad-byte aware ADD/SUB streams), insertion (junk-byte filtering), polymorphic (32-bit XOR with per-key retry, no structural 0x00).
- Encryption: AES-128-CTR blob with C and PowerShell loader templates (documented as non-PIC).
- Verification: 83/83 tests pass — every stub decodes byte-exact under unicorn emulation and jumps to the payload; AES validated against NIST FIPS-197 and pycryptodome.
- Bad characters: prohibited-byte avoidance across schemes.
- Output formats: C array, Python bytes, PowerShell byte array, C# byte array, raw binary.
- Rebuildable: build_stubs.py assembles the NASM stubs; encoder is stdlib-only.
Key Features
- Five position-independent schemes with REAL NASM decoder stubs for x86 AND x64: xor-rolling, rc4, sub-add, insertion, polymorphic
- AES-128-CTR encryption scheme with C/PowerShell loader templates (documented as non-PIC)
- Polymorphic engine: 32-bit XOR with per-key retry (no structural 0x00 bytes)
- Bad-character aware encoding for every scheme
- Pure-Python AES-128 (NIST FIPS-197 validated) — no crypto dependency
- Standalone test suite (83/83 passing)
Requirements
- Python 3.8+
- NASM only to rebuild stubs (prebuilt stubs included)
Changelog
- 3.0 (2026-10-19): complete rewrite — all decoder stubs are real, hand-verified NASM for both architectures; every stub emulation-tested byte-exact; AES-128 validated against NIST vector
- 2.5 (2025-03-01): previous store release (stubs were broken or fake)
Package Contents
Exact contents of the download archive (17 files):
| build_stubs.py | 3,482 B |
| tests/ | 0 B |
| tests/test_stubs.py | 7,269 B |
| README.md | 1,666 B |
| stubs/ | 0 B |
| stubs/insertion32.asm | 618 B |
| stubs/subadd64.asm | 610 B |
| stubs/xor64.asm | 509 B |
| stubs/insertion64.asm | 629 B |
| stubs/rc4_64.asm | 1,341 B |
| stubs/xor32.asm | 513 B |
| stubs/poly64.asm | 462 B |
| stubs/poly32.asm | 454 B |
| stubs/subadd32.asm | 603 B |
| stubs/rc4_32.asm | 1,691 B |
| shellcode_encoder.py | 32,239 B |
| stubs.py | 3,461 B |