4 modi per proteggere il codice VBA (Visual Basic for Applications)
Il codice VBA che scrivi è il cuore e l'anima del tuo foglio di calcolo. Proteggere il codice VBA è qualcosa che dovrebbe essere fatto per assicurarti che il tuo codice non venga rubato o utilizzato senza che tu lo sappia. Questo post tratterà alcuni modi diversi per proteggere il tuo codice VBA in modo che solo TU possa accedervi facilmente.
Perché dovresti preoccuparti di proteggere il codice VBA?
VBA è un linguaggio macro che può essere utilizzato per creare attività o azioni automatizzate in Excel, Word, PowerPoint. Ci sono diverse ragioni per cui dovresti proteggere il tuo codice VBA:
- Per proteggere il tuo codice VBA da modifiche accidentali. Il codice VBA è uno strumento potente per gli utenti di Excel, ma può anche essere fonte di frustrazione per coloro che non lo usano. Se non proteggi il VBA con una password, altri che usano la tua cartella di lavoro possono accedere al codice e apportare modifiche senza sapere cosa stanno effettivamente facendo. Non vuoi eseguire il debug del tuo codice VBA perché può essere doloroso: potrebbero volerci ore per capire il perché e poi ancora più tempo!
- Per proteggere la tua proprietà intellettuale. Il codice VBA può essere molto prezioso per alcune aziende. Se qualcun altro accede al tuo foglio di calcolo e copia la funzionalità che utilizzi, potrebbe potenzialmente spacciarla per il proprio lavoro e venderla a molte aziende. Proteggi il tuo prezioso codice sorgente con misure di sicurezza. Non rendere facile per chiunque rubare o copiare.
- Per proteggerti dalle persone che usano il tuo lavoro. Se hai un prezioso pezzo di codice VBA che rende il tuo lavoro più semplice o più efficiente, allora potresti volerlo proteggere solo per uso personale.
È importante notare che ci sono diversi modi per proteggere il tuo codice VBA, ma non tutti proteggono il tuo codice allo stesso modo. Dipende da te e da cosa ritieni sia meglio per le tue esigenze.
#1 Proteggere con password il codice VBA in Excel utilizzando lo strumento VBAProject
Questa parte spiega come utilizzare le impostazioni di protezione del progetto VBA per proteggere, in un certo senso, il codice VBA da occhi indiscreti e manomissioni.
- Livello di sicurezza: Debole; Esistono strumenti come Rimozione password VBA che può essere utilizzato per sbloccare la password in pochi minuti;
- Difficoltà: Facile;
- Costo: gratuito;
Fase 1. Selezionare “Visual Basic” dal menu “Sviluppatore” in Excel.
Fase 2. Per bloccare il tuo progetto VBA, clicca su “Strumenti” nella barra e poi seleziona “Proprietà VBAProject”.
Dopo aver cliccato su questa voce di menu, dovresti vedere la seguente finestra di dialogo:
Per impostazione predefinita è selezionata la scheda "Generale", ma fare clic sulla scheda "Protezione".
Fase 3. Seleziona "Blocca progetto per la visualizzazione", quindi digita la tua password due volte in entrambe le caselle e premi "OK".
Fase 4. Salvalo e riapri il file Excel. Sarai in grado di dire se la protezione tramite password VBA è stata abilitata correttamente facendo doppio clic sul tuo progetto VBA. Quando proteggi il tuo progetto VBA con una password, impedirai a chiunque di modificarlo accidentalmente.
#2 Utilizza l'offuscamento VBA per proteggere il codice macro
L'offuscamento VBA è l'arte di rendere illeggibile il tuo codice VBA ma comunque funzionale. Modifica le tue macro esistenti con più livelli di offuscamento, il che rende difficile comprendere la logica sottostante. Gli offuscatori VBA avanzati utilizzano una serie di tecniche di offuscamento avanzate, rendendo il reverse tracing e il ripristino notevolmente più impegnativi.
- Livello di sicurezza: Medio; Qualcuno riuscirà comunque a prendersi il tempo e a impiegare risorse sufficienti per recuperare il codice;
- Difficoltà: moderata; a seconda del livello;
- Costo: Offuscatore VBA gratuito /Premio;
Puoi usare l'offuscamento VBA insieme alla tecnica n. 1, che consiste nell'oscurare prima e poi proteggere il modulo con una password. Tieni presente che l'offuscamento è irreversibile, quindi esegui un backup del file sorgente prima di procedere. Ricorda inoltre che non è possibile garantire che il codice offuscato venga eseguito senza errori. Testalo attentamente prima di rilasciarlo. Usa una singola parte del progetto per l'offuscamento. Dopo che il primo test di offuscamento del modulo ha avuto successo, passa al secondo.
#3 Convertire il codice VBA in libreria a collegamento dinamico (DLL)
Compilatori come Visual C++ e Visual Basic producono applicazioni difficili da decifrare. Ciò è dovuto al fatto che il codice è compilato in file eseguibili o file di libreria a collegamento dinamico. Quindi possiamo anche compilare il codice VBA in un file di libreria a collegamento dinamico e poi utilizzarlo in Excel.
- Livello di sicurezza: Alto;
- Difficoltà: moderata;
- Costo: gratuito;
Questo metodo di protezione è altamente raccomandato, ma non è garantito al 100%. Per imparare a compilare, vedere le istruzioni su VbaCompiler.com: 10 passaggi per compilare il codice VBA in DLL Windows nativa .
#4 Convertire VBA in C o C++
Tradurre le tue macro in C o C++ è più difficile da sottoporre a reverse engineering rispetto a VBA. Se vuoi proteggere il tuo codice, questo è il modo migliore.
- Livello di sicurezza: massimo; è quasi impossibile ottenere il codice senza i diritti; ma ancora una volta, non è garantito al 100%.
- Difficoltà: Complicato e richiede molto tempo. Poiché VBA e C/C++ sono linguaggi molto diversi, è più difficile perché richiede molto impegno.
Conclusione
Utilizzare le macro è un ottimo modo per semplificare lo sviluppo di funzioni avanzate. Sfortunatamente, questo mette il tuo codice a rischio di essere rubato o copiato da altri. L'articolo discute i metodi che puoi usare per impedire ad altri utenti di rubare o manomettere il tuo codice VBA. Si noti che le protezioni del codice VBA non sono una sicurezza a prova di proiettile, ma forniscono una certa protezione contro gli aggressori occasionali.