
🛡️ Ferramenta de proteção binária de código aberto para Windows PE. Nanomite, proteção de VM, anti-debug e mais.
Secure Quality Uncrackable Runtime Encryption** - Kit de Proteção Binária Avançada para arquivos PE do Windows.
O SQURE fornece proteção em múltiplas camadas contra engenharia reversa, depuração e adulteração:
| Funcionalidade | Descrição |
|---|---|
| Nanomite | Substitui branches condicionais por INT3, despachados pelo VEH em tempo de execução |
| Criptografia XTEA | Criptografia por página do .text com derivação de chave a partir dos cabeçalhos PE |
| Proteção VM | Virtualiza código em um interpretador de bytecode personalizado |
| Memória Tidal | Criptografia granular por página com descriptografia sob demanda via VEH |
| Honeypot | Funções isca e código armadilha para enganar a análise |
| Anti-Depuração | Detecção de PEB.BeingDebugged com envenenamento de chave |
| Anti-Dump | Técnicas de prevenção de dump de memória |
| Detecção de Sandbox | Detecção de VM/hypervisor via CPUID |
| Ofuscação de Importação | Hash de IAT com resolução em tempo de execução |
| Verificação de Integridade | Cadeia de hash em cascata para detecção de adulteração |
| Compartilhamento de Segredo Shamir | Chave dividida em 3 partes em GF(2^64) |
| Criptografia White-box | Tabelas de consulta resistentes a ataques DCA |
# Clone o repositório
git clone https://github.com/mttm2/squre.git
cd squre
# Compile o binário de release
cargo build --release
# O CLI está em target/release/squre-cli.exe
# Proteção básica
squre-cli protect app.exe -o protected.exe
# Proteção máxima (todas as funcionalidades ativadas)
squre-cli protect app.exe -o protected.exe --level maximum
# Seed personalizada para construções reproduzíveis
squre-cli protect app.exe -o protected.exe -s 0xDEADBEEF
squre-cli protect [OPTIONS] --output <OUTPUT> <INPUT>
Options:
-o, --output <OUTPUT> Caminho do arquivo PE de saída
-s, --seed <SEED> Seed CEWE (hex, aleatória se não especificada)
-l, --level <LEVEL> Nível de proteção: standard (padrão) ou maximum
Recursos de Proteção:
--vm Ativar proteção VM (código virtualizado)
--honeypot Ativar modo honeypot (funções isca, armadilhas)
--tidal Ativar Memória Tidal (criptografia granular por página)
--ultra Ativar modo ultra-endurecido (16 fases de antianálise)
--harden Ativar modo endurecido (seções polimórficas)
--anti-dump Ativar proteção anti-dump de memória
--integrity-check Ativar verificação de integridade do código
--direct-syscall Ativar syscalls diretos (ignorar hooks no modo usuário)
Ajustes:
--junk-level <0-3> Nível de inserção de código lixo
--fake-keys <N> Número de chaves isca a incorporar
--layers <1-3> Camadas de criptografia (XTEA/XOR/Rolling)
--obfuscate <0-3> Nível de ofuscação
--no-nanomite Desabilitar branches nanomite
--no-anti-debug Desabilitar verificações anti-depuração
--level maximum)O SQURE pode proteger automaticamente binários Rust com integração no código-fonte:
# Compilar e proteger um projeto Rust
squre-cli build ./my-rust-project -o protected.exe --level maximum
Adicione a crate squre-core para habilitar proteção baseada em macros:
use squre_core::anti_debug;
fn main() {
// Instala o handler anti-depuração e nanomite
anti_debug!();
// Seu código aqui
}
┌─────────────────────────────────────────────────────────────┐
│ Fluxo de Proteção │
├─────────────────────────────────────────────────────────────┤
│ 1. O SO carrega o PE → entrada = .sqpre (stub ofuscado) │
│ 2. .sqpre descriptografa .sqinit usando chave XOR derivada do PE│
│ 3. .sqinit descriptografa .text usando XTEA com chaves por página│
│ 4. Salta para o ponto de entrada original (CRT init → main) │
│ 5. anti_debug!() instala VEH + carrega tabela nanomite │
│ 6. Branches INT3 despachados pelo handler VEH │
│ 7. Memória Tidal criptografa páginas → VEH descriptografa sob demanda│
└─────────────────────────────────────────────────────────────┘
squre/
├── crates/
│ ├── squre-cli/ # Ferramenta CLI para proteção binária
│ │ ├── src/
│ │ │ ├── main.rs # Ponto de entrada do CLI
│ │ │ ├── pe/ # Análise e escrita de PE
│ │ │ └── transform/ # Transformações de proteção
│ │ │ ├── hardening.rs # Fases de antianálise
│ │ │ ├── honeypot.rs # Geração de código isca
│ │ │ ├── vm_protect.rs # Compilador de bytecode VM
│ │ │ └── ...
│ └── squre-core/ # Macros de runtime para integração Rust
├── examples/ # Projetos de exemplo
└── TUTORIAL.md # Guia de uso detalhado
O SQURE foi projetado para proteção legítima de software:
Não use para malware. Esta ferramenta é apenas para fins defensivos.
Binários protegidos têm sobrecarga mínima em tempo de execução:
Contribuições são bem-vindas! Sinta-se à vontade para enviar issues e pull requests.
git checkout -b feature/amazing)git commit -m 'Add amazing feature')git push origin feature/amazing)Licença MIT - veja LICENSE para detalhes.
SQURE - Porque seu código merece proteção.