
🛡️ Open-Source-Toolkit zum Schutz von Binärdateien für Windows PE. Nanomite, VM-Schutz, Anti-Debug und mehr.
Secure Quality Uncrackable Runtime Encryption - Erweitertes Binärschutz-Toolkit für Windows PE-Dateien.
SQURE bietet mehrschichtigen Schutz gegen Reverse Engineering, Debugging und Manipulation:
| Funktion | Beschreibung |
|---|---|
| Nanomite | Ersetzt bedingte Verzweigungen durch INT3, die zur Laufzeit vom VEH ausgelöst werden. |
| XTEA-Verschlüsselung | Seitenweise .text-Verschlüsselung mit Schlüsselableitung aus PE-Headern |
| VM-Schutz | Virtualisiert Code in einen benutzerdefinierten Bytecode-Interpreter |
| Tidal Memory | Seitengranulare Verschlüsselung mit bedarfsgesteuerter VEH-Entschlüsselung |
| Honeypot | Köderfunktionen und Fallen-Code zur Irreführung der Analyse |
| Anti-Debug | PEB.BeingDebugged-Erkennung mit Schlüsselvergiftung |
| Anti-Dump | Techniken zur Verhinderung von Speicherauszügen |
| Sandbox-Erkennung | CPUID-basierte VM/Hypervisor-Erkennung |
| Import-Verschleierung | IAT-Hashing mit Laufzeitauflösung |
| Integritätsprüfung | Kaskaden-Hash-Kette zur Manipulationserkennung |
| Shamir Secret Sharing | Schlüsselaufteilung auf 3 Anteile in GF(2^64) |
| White-Box-Kryptographie | Nachschlagetabellen resistent gegen DCA-Angriffe |
# Clone the repository
git clone https://github.com/mttm2/squre.git
cd squre
# Build release binary
cargo build --release
# The CLI is at target/release/squre-cli.exe
# Basic protection
squre-cli protect app.exe -o protected.exe
# Maximum protection (all features enabled)
squre-cli protect app.exe -o protected.exe --level maximum
# Custom seed for reproducible builds
squre-cli protect app.exe -o protected.exe -s 0xDEADBEEF
squre-cli protect [OPTIONS] --output <OUTPUT> <INPUT>
Options:
-o, --output <OUTPUT> Output PE file path
-s, --seed <SEED> CEWE seed (hex, random if not specified)
-l, --level <LEVEL> Protection level: standard (default) or maximum
Protection Features:
--vm Enable VM protection (virtualized code)
--honeypot Enable honeypot mode (decoy functions, traps)
--tidal Enable Tidal Memory (page-granular encryption)
--ultra Enable ultra-hardened mode (16 anti-analysis phases)
--harden Enable hardened mode (polymorphic sections)
--anti-dump Enable anti-memory-dump protection
--integrity-check Enable code integrity checking
--direct-syscall Enable direct syscalls (bypass user-mode hooks)
Tuning:
--junk-level <0-3> Junk code insertion level
--fake-keys <N> Number of decoy keys to embed
--layers <1-3> Encryption layers (XTEA/XOR/Rolling)
--obfuscate <0-3> Obfuscation level
--no-nanomite Disable nanomite branches
--no-anti-debug Disable anti-debug checks
--level maximum)SQURE kann Rust-Binärdateien automatisch mit Integration auf Quellcodeebene schützen:
# Build and protect a Rust project
squre-cli build ./my-rust-project -o protected.exe --level maximum
Fügen Sie die squre-core-Crate hinzu, um makrobasierten Schutz zu aktivieren:
use squre_core::anti_debug;
fn main() {
// Install anti-debug and nanomite handler
anti_debug!();
// Your code here
}
┌─────────────────────────────────────────────────────────────┐
│ Protection Flow │
├─────────────────────────────────────────────────────────────┤
│ 1. OS loads PE → entry = .sqpre (obfuscated stub) │
│ 2. .sqpre decrypts .sqinit using PE-derived XOR key │
│ 3. .sqinit decrypts .text using XTEA with page keys │
│ 4. Jump to original entry point (CRT init → main) │
│ 5. anti_debug!() installs VEH + loads nanomite table │
│ 6. INT3 branches dispatched by VEH handler │
│ 7. Tidal Memory encrypts pages → VEH decrypts on demand │
└─────────────────────────────────────────────────────────────┘
squre/
├── crates/
│ ├── squre-cli/ # CLI tool for binary protection
│ │ ├── src/
│ │ │ ├── main.rs # CLI entry point
│ │ │ ├── pe/ # PE parsing and writing
│ │ │ └── transform/ # Protection transforms
│ │ │ ├── hardening.rs # Anti-analysis phases
│ │ │ ├── honeypot.rs # Decoy code generation
│ │ │ ├── vm_protect.rs # VM bytecode compiler
│ │ │ └── ...
│ └── squre-core/ # Runtime macros for Rust integration
├── examples/ # Example projects
└── TUTORIAL.md # Detailed usage guide
SQURE ist für legitimen Softwareschutz konzipiert:
Nicht für Malware verwenden. Dieses Tool dient ausschließlich defensiven Zwecken.
Geschützte Binärdateien haben einen minimalen Laufzeit-Overhead:
Beiträge sind willkommen! Bitte zögern Sie nicht, Issues und Pull Requests einzureichen.
git checkout -b feature/amazing)git commit -m 'Add amazing feature')git push origin feature/amazing)MIT-Lizenz - siehe LICENSE für Details.
SQURE - Weil Ihr Code Schutz verdient.