4 manieren om VBA-code (Visual Basic for Applications) te beschermen

De VBA-code die u schrijft, is het hart en de ziel van uw spreadsheet. Het beschermen van VBA-code is iets dat u moet doen om ervoor te zorgen dat uw code niet wordt gestolen of gebruikt zonder dat u het weet. Dit bericht behandelt verschillende manieren om uw VBA-code te beschermen, zodat alleen U er gemakkelijk toegang toe hebt.
Waarom is het belangrijk om VBA-code te beschermen?
VBA is een macrotaal die kan worden gebruikt om geautomatiseerde taken of acties te maken in Excel, Word, PowerPoint. Er zijn verschillende redenen waarom u uw VBA-code moet beschermen:
- Om te voorkomen dat uw VBA-code per ongeluk wordt gewijzigd. VBA-code is een krachtig hulpmiddel voor Excel-gebruikers, maar het kan ook een bron van frustratie zijn voor degenen die het niet gebruiken. Als u de VBA niet met een wachtwoord beveiligt, kunnen anderen die uw werkmap gebruiken toegang krijgen tot de code en er wijzigingen in aanbrengen zonder te weten wat ze eigenlijk doen. U wilt uw VBA-code niet debuggen, omdat het pijnlijk kan zijn. Het kan uren duren om erachter te komen waarom en dan nog meer tijd!
- Om uw intellectuele eigendom te beschermen. VBA-code kan voor sommige bedrijven erg waardevol zijn. Als iemand anders toegang krijgt tot uw spreadsheet en de functionaliteit kopieert die u gebruikt, dan kan hij of zij het potentieel als zijn of haar eigen werk presenteren en het aan veel bedrijven verkopen. Bescherm uw waardevolle broncode met beveiligingsmaatregelen. Maak het voor niemand makkelijk om te stelen of kopiëren.
- Om uzelf te beschermen tegen mensen die uw werk gebruiken. Als u een waardevol stuk VBA-code hebt dat uw werk gemakkelijker of efficiënter maakt, dan wilt u het misschien alleen voor persoonlijk gebruik beschermen.
Het is belangrijk om op te merken dat er verschillende manieren zijn om uw VBA-code te beschermen, maar niet alle beschermen uw code op dezelfde manier. Het is aan u en wat u denkt dat het beste is voor uw behoeften.
#1 Wachtwoordbeveiliging VBA-code in Excel met behulp van VBAProject Tool
In dit onderdeel wordt uitgelegd hoe u de beveiligingsinstellingen voor VBA-projecten kunt gebruiken om uw VBA-code op een bepaald niveau te beschermen tegen nieuwsgierige blikken en kwaadwillende handen.
- Beveiligingsniveau: Zwak; Er zijn hulpmiddelen zoals VBA-wachtwoordverwijderaar waarmee u binnen enkele minuten het wachtwoord kunt ontgrendelen;
- Moeilijkheidsgraad: Gemakkelijk;
- Kosten: Gratis;
Stap 1. Selecteer “Visual Basic” in het menu “Ontwikkelaar” in Excel.
Stap 2. Om uw VBA-project te vergrendelen, klikt u op 'Extra' in de balk en selecteert u vervolgens 'VBA-projecteigenschappen'.
Nadat u op dit menu-item hebt geklikt, zou u het volgende dialoogvenster moeten zien:
Standaard is het tabblad ‘Algemeen’ geselecteerd, maar klik op het tabblad ‘Bescherming’.
Stap 3. Vink “Project vergrendelen voor weergave” aan en typ vervolgens tweemaal uw wachtwoord in beide vakken en klik op “OK”.
Stap 4. Sla het op en open het Excel-bestand opnieuw. U kunt zien of de VBA-wachtwoordbeveiliging correct is ingeschakeld door te dubbelklikken op uw VBA-project. Wanneer u uw VBA-project met een wachtwoord beveiligt, voorkomt u dat iemand het per ongeluk wijzigt.
#2 Gebruik VBA-verduistering om uw macrocode te beschermen
VBA-obfuscatie is de kunst om uw VBA-code onleesbaar maar nog steeds functioneel te maken. Het wijzigt uw bestaande macro's met meerdere niveaus van obfuscatie, waardoor het moeilijk wordt om de onderliggende logica te begrijpen. Geavanceerde VBA-obfuscators gebruiken een aantal geavanceerde obfuscatietechnieken, waardoor reverse tracing en recovery aanzienlijk uitdagender worden.
- Beveiligingsniveau: Gemiddeld; Iemand kan nog steeds de tijd nemen en voldoende middelen besteden om de code te herstellen;
- Moeilijkheidsgraad: Gemiddeld; Afhankelijk van het niveau;
- Kosten: Gratis VBA Obfuscator /Premie;
U kunt VBA-obfuscatie gebruiken in combinatie met de #1-techniek, waarbij u eerst de module verbergt en vervolgens beveiligt met een wachtwoord. Houd er rekening mee dat de verberging onomkeerbaar is, dus maak een back-up van het bronbestand voordat u verdergaat. Vergeet ook niet dat de verbergde code niet gegarandeerd foutloos kan worden uitgevoerd. Test de code grondig voordat u deze vrijgeeft. Gebruik één enkel onderdeel van het project om te verbergt. Ga na het succesvol afronden van de eerste module-verbergingstest door naar de tweede.
#3 Converteer VBA-code naar Dynamic-Link Library (DLL)
Compilers zoals Visual C++ en Visual Basic produceren applicaties die moeilijk te kraken zijn. Dit komt doordat de code wordt gecompileerd in uitvoerbare bestanden of DLL-bestanden (Dynamic Link Library). We kunnen de VBA-code dus ook compileren in een DLL-bestand (Dynamic Link Library) en het vervolgens gebruiken in Excel.
- Veiligheidsniveau: Hoog;
- Moeilijkheidsgraad: Gemiddeld;
- Kosten: Gratis;
Deze beschermingsmethode wordt sterk aanbevolen, maar is niet 100% gegarandeerd. Om te leren hoe u moet compileren, zie de instructies op VbaCompiler.com: 10 stappen om VBA-code te compileren naar een native Windows DLL .
#4 Converteer VBA naar C of C++
Het vertalen van uw macro's naar C of C++ is moeilijker te reverse engineeren dan VBA. Als u uw code wilt beschermen, is dit de beste manier.
- Beveiligingsniveau: Hoogst; Het is vrijwel onmogelijk om de code te verkrijgen zonder de rechten; Maar nogmaals, het is niet 100% gegarandeerd;
- Moeilijkheidsgraad: ingewikkeld en tijdrovend; omdat VBA en C/C++ zulke verschillende talen zijn, is het lastiger en kost het veel moeite.
Conclusie
Het gebruik van macro's is een geweldige manier om de ontwikkeling van geavanceerde functies te stroomlijnen. Helaas loopt uw code hierdoor het risico dat deze door anderen wordt gestolen of gekopieerd. Het artikel bespreekt methoden die u kunt gebruiken om te voorkomen dat andere gebruikers uw VBA-code stelen of ermee knoeien. Houd er rekening mee dat de VBA-codebeveiligingen geen kogelvrije beveiliging zijn, maar ze bieden wel enige bescherming tegen toevallige aanvallers.