A polymorphic mutation engine for x86_64 binaries.
Shredder-RS implements instruction-level shredding to defeat static analysis. By breaking the linear flow of the code and injecting randomized junk nodes, it forces disassemblers to follow a complex graph of JMP-linked instructions.
Unlike basic obfuscators that only add junk code, Shredder-RS deconstructs the original instruction stream into isolated functional nodes.
- Decoding: Full x86_64 disassembly using
iced-x86. - Fragmentation: Each instruction is wrapped in a "Mutation Node".
- Entropy Injection: Nodes are physically shuffled in a new PE section.
- Control Flow Linking: Nodes are re-connected via relative jumps, creating a "spaghetti" CFG (Control Flow Graph) that disrupts linear sweep disassemblers.
- Context-Aware Mutation: Preserves EFLAGS and volatile registers via context-sandwiching (Push/Popfq).
- Non-Linear Layout: Randomized physical instruction placement to defeat pattern matching.
- PE Support: Automated section injection (
.shred) and EntryPoint hijacking.
For deep technical details, see ARCHITECTURE.md.
This project is developed for educational and research purposes only. Its goal is to explore polymorphic techniques and binary hardening. The author is not responsible for any misuse of this tool.
- Rust 1.70+ (Stable)
- MSVC Toolchain (Required for stable Windows builds and PE handling)