Documentazione

Tutto ciò che serve per proteggere i tuoi binari con ChaosProtector.

Per iniziare

ChaosProtector protegge gli eseguibili PE Windows x86 (32 bit) e x86-64 (64 bit), oltre alle librerie a collegamento dinamico (.dll), dal reverse engineering tramite virtualizzazione del codice, offuscamento e tecniche anti-manomissione. Segui questi passaggi per proteggere il tuo primo binario.

1

Scarica ChaosProtector

Accedi con il tuo account Google e scarica ChaosProtector dalla Dashboard. Il piano Trial è gratuito e include l'offuscamento e l'applicazione GUI completa.

2

Apri il tuo eseguibile

Avvia ChaosProtectorGui.exe e fai clic su Apri file per caricare il tuo eseguibile PE x86 o x86-64, oppure la DLL. ChaosProtector analizzerà il binario e mostrerà tutte le funzioni rilevate.

3

Seleziona le funzioni da proteggere

Usa l'elenco delle funzioni per selezionare quali funzioni desideri virtualizzare. Concentrati sulle funzioni critiche per la sicurezza, come i controlli di licenza, le routine crittografiche e gli algoritmi proprietari. Lascia il codice critico per le prestazioni non protetto per il miglior equilibrio tra sicurezza e velocità.

4

Configura le opzioni di protezione

Abilita le funzionalità di protezione necessarie:

  • Code Virtualization — Basic and Pro
  • Base MBA obfuscation — all plans; control-flow flattening — Basic and Pro
  • String Encryption and integrity checks — Basic and Pro
  • IAT Destruction — all plans
  • Base Anti-Debug — all plans; advanced runtime checks — Pro
  • Anti-VM — Basic and Pro; advanced checks — Pro
5

Proteggi e testa

Click Protect to generate the protected binary, then test it thoroughly before distribution. If the input references an existing PDB and PDB preservation is enabled, ChaosProtector copies that sidecar and updates the embedded path; it does not reconstruct missing symbols.

Interfaccia a riga di comando

ChaosProtector include una modalità CLI per l'automazione e l'integrazione CI/CD. Usala per proteggere i binari negli script di build senza la GUI.

ChaosProtectorGui.exe --file <percorso-exe> [opzioni]

Options:
  --file <percorso>    Percorso dell'eseguibile PE da proteggere
  --virtualize         Abilita la virtualizzazione del codice
  --anti-vm            Abilita il rilevamento anti-VM
  --imports            Abilita la distruzione IAT
  --strings            Abilita la crittografia delle stringhe
  --output <path>      Output path (default: <filename>.protected.exe)

Esempio: Proteggere un eseguibile con tutte le funzionalità abilitate:

ChaosProtectorGui.exe --file MyApp.exe --virtualize --anti-vm --imports --strings

Buone pratiche

  • Protezione selettiva: Virtualizza solo le funzioni critiche per la sicurezza. Virtualizzare l'intero binario influirà significativamente sulle prestazioni e aumenterà la dimensione del file.
  • Testa accuratamente: Testa sempre i binari protetti prima del rilascio. La virtualizzazione del codice modifica il flusso di esecuzione e potrebbe evidenziare casi limite.
  • Preserve your original PDB: The --pdb workflow can copy an existing PDB referenced by the input and update the protected PE path. It cannot synthesize missing symbols or reconstruct virtualized functions, so retain the original build symbols securely.
  • Stratifica le difese: Combina la virtualizzazione con la crittografia delle stringhe, la distruzione IAT e il rilevamento anti-VM per la massima protezione.
  • Automatizza con il CLI: Integra ChaosProtector nella tua pipeline CI/CD utilizzando la modalità CLI per proteggere automaticamente ogni build di rilascio.
  • CLion / MinGW-w64: Nei binari MinGW non sottoposti a strip, le funzioni vengono rilevate automaticamente dai simboli COFF incorporati. Se esegui lo strip dell'eseguibile, genera un file MAP del linker con lo stesso nome base (per esempio app.exe e app.map) e tienilo accanto al PE durante la selezione delle funzioni. Le funzioni che dipendono da comportamenti GCC exception/unwind non sicuri restano visibili, ma vengono marcate come non virtualizzabili (fail-closed) invece di rischiare un output non funzionante.

Formati supportati

ChaosProtector attualmente supporta i seguenti formati:

  • Piattaforma: Windows
  • Architettura: x86 (32 bit) e x86-64 (64 bit)
  • Formato: Eseguibili PE (.exe) e librerie a collegamento dinamico (.dll)
  • Toolchain: Microsoft Visual C++ e CLion/MinGW-w64
  • Debug and symbol input: Preserves an existing PDB and supports automatic COFF and same-basename MAP discovery; it does not create missing symbols