Skip to main content

Protezione del codice VBA

Quattro livelli attorno al vostro VBA.
Sovrapponete ciò di cui ha bisogno il vostro modello di minaccia.

La protezione VBA non è binaria. XLS Padlock offre quattro livelli indipendenti: password del progetto, nascondi e blocca, compilazione in bytecode e rifiuto dell'accesso alla VBE. Sovrapponetene uno o sovrapponeteli tutti e quattro. La scelta corretta dipende da chi distribuite e da quanto aggressivamente prevedete che tentino il reverse engineering.

Dal codice sorgente leggibile al bytecode compilato.

Il livello 3 è il più difficile da superare. Spostate le procedure che selezionate nell'editor VBA di XLS Padlock, che le compila in bytecode memorizzato nell'applicazione. La logica originale esce dalla cartella di lavoro: dove la macro veniva eseguita, rimane solo una chiamata all'helper CallXLSPadlockVBA.

La macro VBA originale nel Visual Basic Editor: una procedura Sub calculate leggibile con formule Range.
Prima: il vostro codice sorgente VBA originale, completamente leggibile nell'editor.
Lo stesso modulo dopo la compilazione: il corpo della procedura è sostituito da una chiamata CallXLSPadlockVBA al bytecode compilato.
Dopo: il corpo è scomparso, sostituito da una chiamata CallXLSPadlockVBA. Il bytecode è memorizzato nell'applicazione sicura e non viene mai distribuito come codice sorgente.

Ogni livello sconfigge una classe di attacco diversa.

Livello 1

Password del progetto VBA

Blocco visivo rapido contro l'apertura accidentale. Molti strumenti gratuiti sono in grado di rimuoverla. Utile solo di fronte a utenti onesti.

Livello 2

Nascondi e blocca il VBA

Il manager di XLS Padlock blocca il progetto VBA in modo che non possa essere visualizzato, aperto o modificato. Chiunque lo apra vedrà un messaggio Project is unviewable e, poiché la cartella di lavoro è cifrata all'interno dell'EXE, gli strumenti di rimozione della password non possono raggiungere il codice sorgente.

Livello 3 (di punta)

VBA Compiler

Spostate le parti critiche delle vostre macro nell'editor VBA di XLS Padlock e le compilate in bytecode. Sostituite poi il codice originale con una chiamata all'helper CallXLSPadlockVBA, in modo che la logica sorgente esca dalla cartella di lavoro e venga eseguita solo all'interno dell'applicazione sicura.

Livello 4

Accesso alla VBE negato

L'applicazione compilata può vietare l'apertura del Visual Basic Editor (Alt+F11), così gli utenti finali non possono aprire la VBE per ispezionare il progetto.

Una finestra di dialogo Project Locked che riporta Project is unviewable, mostrata all'apertura del progetto VBA di una cartella di lavoro compilata.
Il livello 2 in azione: il progetto VBA bloccato si dichiara non visualizzabile.

Tre modelli di minaccia, tre livelli di profondità della protezione.

Nascondere semplicemente il sorgente agli utenti onesti

Utilizzate la password del progetto VBA insieme a nascondi e blocca. La configurazione più rapida, senza alcuna rielaborazione del codice. Sufficiente se i vostri clienti non tenteranno attivamente il reverse engineering.

Compilare la proprietà intellettuale, mantenere il cablaggio

Spostate le vostre procedure sensibili nell'editor VBA di XLS Padlock e compilatele, lasciando i gestori di eventi e il codice delle UserForm in VBA semplice. Il miglior equilibrio tra sicurezza ed ergonomia per lo sviluppatore.

Compilare in modo aggressivo, ristrutturare il codice se necessario

Spostate la maggior quantità possibile di logica di business nell'editor VBA e compilatela: librerie matematiche, motori di calcolo, esportatori, tutto ciò che non dipende dagli eventi dell'interfaccia di Excel. Prevedete di adattare una parte del codice (oggetto Application esplicito, solo oggetti supportati), ma massimizzate la superficie protetta.

Bloccate il progetto, compilate la proprietà intellettuale, negate l'editor.

Per la maggior parte delle cartelle di lavoro commerciali, la base corretta è costituita dai livelli 2, 3 e 4: nascondete il progetto dall'interfaccia di Excel, spostate il codice sensibile nell'editor VBA di XLS Padlock per compilarlo, negate l'accesso alla VBE in fase di esecuzione. Tralasciate il livello 1 (la password del progetto), poiché non aggiunge nulla una volta che l'EXE si rifiuta comunque di aprire l'editor.

Free trial · No credit card · No time limit

Protect your Excel workbook in minutes.

One license, every feature included. Lifetime ownership, no subscription.