Polymorphic PE Packer is a lightweight, cross-platform tool written in Go that obfuscates and optionally compresses Windows executables (PE files) using polymorphic techniques. It generates a unique stub loader that decrypts and executes the original payload at runtime, making each output binary unique.
- Polymorphic Obfuscation – XOR encryption with a random key per build
- Compression – Optional GZip compression to reduce file size
- Stub Generation – Creates a self-contained Go stub that decodes, decrypts, and executes the payload
- CLI Tool – Simple command-line interface with JSON configuration
- Pure Go – No external dependencies, compiled to a single binary
git clone https://github.com/TemidayoAkinwamide/polymorphic-pe-packer.git
cd polymorphic-pe-packer
go build -o deepevo.exe ./cmd/deepevo
📖 Usage
Step 1: Create a Configuration File
Create a JSON configuration file (e.g., config.json):
json
{
"input\_file": "payload.exe",
"output\_file": "packed.exe",
"obfuscation": {
"enabled": true,
"add\_junk\_data": false
},
"compression": {
"enabled": false,
"method": "gzip"
}
}
Step 2: Run the Packer
bash
./deepevo.exe config.json
Step 3: Execute the Packed Binary
bash
./packed.exe
The stub will automatically decrypt and execute your original payload.
🛠️ Configuration Options
Field Type Description
input_file string Path to the executable to pack
output_file string Path where the packed executable will be saved
obfuscation.enabled bool Enable XOR obfuscation
obfuscation.add_junk_data bool Add random junk data for additional obfuscation
compression.enabled bool Enable GZip compression
compression.method string Compression method (gzip or zip)
📁 Project Structure
polymorphic-pe-packer/
├── cmd/
│ └── deepevo/ # CLI entry point
├── configs/ # Example configurations
├── internal/
│ ├── compression/ # Compression logic
│ ├── core/ # Core packer logic & stub generation
│ ├── security/ # Obfuscation (XOR + junk data)
│ └── utils/ # File and system helpers
├── go.mod
├── go.sum
├── LICENSE
└── README.md
🧪 Quick Example
Pack calc.exe from your Windows system:
bash
copy C:\Windows\System32\calc.exe test\_input.exe
./deepevo.exe configs/test\_obfuscate.json
./output\_packed.exe # Runs calc.exe with polymorphic packing
🔒 How It Works
Read the input PE executable
Compress (optional) to reduce size
Encrypt with a random XOR key
Generate a unique stub loader in Go
Compile the stub with the encrypted payload embedded
Output a polymorphic binary
Each generated binary is unique due to:
Random XOR encryption keys
Randomized stub code generation
Optional junk code insertion
📋 System Requirements
Go 1.21 or higher
Windows (for runtime execution of packed PE files)
🤝 Contributing
Contributions are welcome! Please feel free to:
Open an issue for bug reports or feature requests
Submit a pull request with improvements
Suggest enhancements to the obfuscation techniques
📝 License
This project is licensed under the MIT License – see LICENSE [blocked] for details.
🙏 Acknowledgments
Built with Go
Inspired by polymorphic techniques in security research
⚠️ Disclaimer
This tool is for educational and authorized research purposes only. Unauthorized access to computer systems is illegal. Use responsibly and ensure you have proper authorization before packing or distributing any executable.
🔗 Quick Links
Issues
Discussions
---
## 📄 MIT License File
Create a **LICENSE** file in the root directory:
```markdown
MIT License
Copyright (c) 2025 Temidayo Akinwamide
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.