L'offuscamento VM in azione
Il programma si comporta esattamente come prima. Semplicemente, non resta più nulla da leggere.
Codice sorgente leggibile
Bytecode protetto da VM
* Codice di esempio offuscato con il preset vm-high-obfuscation e con le difese anti-LLM avanzate abilitate
La logica originale viene convertita in bytecode personalizzato che solo la VM incorporata è in grado di eseguire. Gli strumenti di analisi statica non possono comprendere il codice senza prima sottoporre a reverse engineering l'intera VM.
Difese anti-LLM stratificate contro il reverse engineering
Progettate per bloccare la maggior parte delle tecniche con cui un LLM attacca il codice offuscato.
* Reverse engineering di codice offuscato con il preset vm-high-obfuscation e con le difese anti-LLM abilitate. In un ambiente JS l'ispezione della memoria a runtime è sempre possibile: le nostre difese ne aumentano il costo.
Il meccanismo alla base
Due livelli di difesa indipendenti, con contromisure anti-LLM integrate, operano insieme per rendere impraticabili l'analisi e il reverse engineering
VM Self Defending
Il runtime della VM verifica la propria integrità in ogni fase: qualsiasi modifica, iniezione di hook o intercettazione tramite proxy viene rilevata e neutralizzata.
Verifica dell'integrità del codice
Rilevamento degli hook sulle funzioni
Trappole per proxy e intercettazioni
Validazione dello stack di chiamate
Interruzione dei flussi di lavoro degli agenti
VM Debug Protection
Blocca gli strumenti di sviluppo, i breakpoint e l'ispezione a runtime, rendendo estremamente difficile eseguire passo passo o osservare l'esecuzione della VM.
Rilevamento dei DevTools e risposta
Neutralizzazione dei breakpoint
Validazione dei tempi di esecuzione
Fingerprinting dell'ambiente
Depistaggio con bytecode esca
Difese contro l'analisi tramite LLM
Offuscamento di base e offuscamento VM a confronto
Un raffronto funzionalità per funzionalità
| Funzionalità | Base | Offuscamento VM |
|---|---|---|
Crittografia dello String Array | ||
Control Flow Flattening | ||
Dead Code Injection | Semplice | Avanzato |
Self Defending | Semplice | Avanzato |
Debug Protection | Semplice | Avanzato |
Virtualizzazione del bytecode | ||
Crittografia del bytecode | ||
Controlli di integrità del codice | ||
Anti-hooking e anti-tampering | ||
Difese anti-LLM |
Casi d'uso della protezione del codice JavaScript
Dai giochi HTML5 alle applicazioni aziendali: proteggere il proprio JavaScript da furti e reverse engineering
Giochi HTML5
Impedisce ai giocatori di barare e ai concorrenti di sottrarre la logica di gioco. L'offuscamento VM rende il reverse engineering estremamente difficile.
Applicazioni SaaS
Protegge algoritmi frontend proprietari e logiche di business dai concorrenti che potrebbero ispezionare il codice lato client.
Software con licenza
Mette in sicurezza la validazione delle licenze, le funzionalità premium e i meccanismi anti-pirateria con bytecode resistente alle manomissioni.
Estensioni per browser
Protegge il codice delle estensioni da imitazioni e modifiche malevole, mantenendo al sicuro la proprietà intellettuale.
