sc_obf (Shellcode Obfuscator) is a desktop GUI tool built with Rust and egui.
It can:
- Generate a patched shellcode payload using LHOST and LPORT.
- Load payload bytes directly from a raw file.
- Parse pasted payloads in base64, hex, or escaped
\\xNNformat. - Convert payloads to multiple output representations (hex, base64, C, Python, Rust, C#, PowerShell, VBA, Go, and custom templates).
- Apply custom Python scripting (when Python 3 is available) to transform payload data.
- Cargo package name:
sc_obf - App display name:
Shellcode Obfuscator
- Rust toolchain (stable)
- Cargo
- On macOS: Xcode Command Line Tools (for native compilation)
- Optional: Python 3 (to enable the Python scripting panel)
cargo buildcargo run- Open the application.
- Choose an input mode:
- Generate: provide LHOST and LPORT.
- Load shellcode: open a raw file or paste payload text.
- Select output format.
- Click:
- Generate (for LHOST/LPORT mode)
- Parse & Convert (for pasted payload mode)
- Copy output from the Output panel.
- Enter LHOST (IPv4) and LPORT.
- The app patches the embedded base payload and renders the selected output format.
- Open file: reads bytes as raw binary.
- Paste mode supports:
- base64
- hex (supports compact and prefixed styles like
0x90,0x90) - escaped bytes like
\x90\x90\xCC
If Python 3 is installed and available, the Python Scripting section is enabled.
Your script must define:
def process(shellcode: bytes) -> str:
# return transformed output text
return shellcode.hex()- Input is provided as raw
bytes. - Returned string replaces the Output panel content.
If Python is unavailable, scripting controls stay disabled and the app shows guidance to install Python.
The app includes built-in templates and a custom template editor.
Custom template fields:
- Name
- Prefix
- Separator
- Suffix
- Byte representation (
0xff,&Hff, or\\xff)
Use {len} in prefix/suffix to inject payload length.
- Loaded files are read as raw bytes (
std::fs::read). - This project focuses on payload formatting and transformation workflows in a local GUI environment.