
🛡️ Toolkit de protection binaire open-source pour PE Windows. Nanomite, protection VM, anti-debug, et plus encore.
Secure Quality Uncrackable Runtime Encryption - Kit de protection binaire avancé pour les fichiers PE Windows.
SQURE offre une protection multicouche contre le rétro-ingénierie, le débogage et la falsification :
| Fonctionnalité | Description |
|---|---|
| Nanomite | Remplace les branchements conditionnels par INT3, distribués par VEH à l'exécution |
| Chiffrement XTEA | Chiffrement du .text par page avec dérivation de clé à partir des en-têtes PE |
| Protection VM | Virtualise le code en un interpréteur de bytecode personnalisé |
| Mémoire Tidal | Chiffrement par granularité de page avec déchiffrement VEH à la demande |
| Honeypot | Fonctions leurres et code piège pour tromper l'analyse |
| Anti-Debug | Détection de PEB.BeingDebugged avec empoisonnement de clé |
| Anti-Dump | Techniques de prévention de dump mémoire |
| Détection de sandbox | Détection de VM/hyperviseur par CPUID |
| Obfuscation des importations | Hachage IAT avec résolution à l'exécution |
| Vérification d'intégrité | Chaîne de hachage en cascade pour détection de falsification |
| Partage secret Shamir | Clé divisée en 3 parts dans GF(2^64) |
| Crypto white-box | Tables de correspondance résistantes aux attaques DCA |
# 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
# Protection de base
squre-cli protect app.exe -o protected.exe
# Protection maximale (toutes les fonctionnalités activées)
squre-cli protect app.exe -o protected.exe --level maximum
# Seed personnalisé pour constructions reproductibles
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 peut protéger automatiquement les binaires Rust avec une intégration au niveau du code source :
# Construire et protéger un projet Rust
squre-cli build ./my-rust-project -o protected.exe --level maximum
Ajoutez la crate squre-core pour activer la protection basée sur les macros :
use squre_core::anti_debug;
fn main() {
// Installer le gestionnaire anti-debug et nanomite
anti_debug!();
// Votre code ici
}
┌─────────────────────────────────────────────────────────────┐
│ 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 est conçu pour la protection légitime de logiciels :
Ne pas utiliser pour des logiciels malveillants. Cet outil est destiné uniquement à des fins défensives.
Les binaires protégés ont une surcharge d'exécution minimale :
Les contributions sont les bienvenues ! N'hésitez pas à soumettre des problèmes et des demandes de tirage (pull requests).
git checkout -b feature/amazing)git commit -m 'Add amazing feature')git push origin feature/amazing)Licence MIT - voir LICENSE pour les détails.
SQURE - Parce que votre code mérite une protection.