4 spôsoby ochrany kódu VBA (Visual Basic for Applications).

Kód VBA, ktorý napíšete, je srdcom a dušou vašej tabuľky. Ochrana kódu VBA je niečo, čo by ste mali urobiť, aby ste sa uistili, že váš kód nebude ukradnutý alebo použitý bez toho, aby ste o tom vedeli. Tento príspevok sa bude zaoberať niekoľkými rôznymi spôsobmi ochrany vášho kódu VBA, aby ste k nemu mali jednoduchý prístup iba VY.
Prečo by ste sa mali starať o ochranu kódu VBA?
VBA je jazyk makier, ktorý možno použiť na vytváranie automatických úloh alebo akcií v programoch Excel, Word, PowerPoint. Existuje niekoľko dôvodov, prečo by ste mali chrániť svoj kód VBA:
- Na ochranu vášho kódu VBA pred náhodnou zmenou. Kód VBA je výkonný nástroj pre používateľov Excelu, no môže byť aj zdrojom frustrácie pre tých, ktorí ho nepoužívajú. Ak VBA nezabezpečíte heslom, ostatní používatelia vášho zošita môžu získať prístup ku kódu a vykonávať v ňom zmeny bez toho, aby vedeli, čo vlastne robia. Nechcete ladiť svoj kód VBA, pretože to môže byť bolestivé – môže trvať hodiny, kým zistíte prečo a potom ešte viac času!
- Na ochranu vášho duševného vlastníctva. Kód VBA môže byť pre niektoré spoločnosti veľmi cenný. Ak niekto iný pristúpi k vašej tabuľke a skopíruje funkcie, ktoré používate, môže to potenciálne vydať za svoje vlastné dielo a predať to mnohým spoločnostiam. Chráňte svoj cenný zdrojový kód pomocou bezpečnostných opatrení. Neuľahčujte nikomu krádež alebo kopírovanie.
- Aby ste sa chránili pred ľuďmi, ktorí používajú vašu prácu. Ak máte cenný kus kódu VBA, ktorý vám uľahčuje alebo zefektívňuje prácu, možno ho budete chcieť chrániť iba na osobné použitie.
Je dôležité poznamenať, že existuje niekoľko rôznych spôsobov ochrany kódu VBA, ale nie všetky chránia váš kód rovnakým spôsobom. Je len na vás a na tom, čo si myslíte, že je pre vaše potreby najlepšie.
#1 Ochrana hesla VBA kódu v Exceli pomocou nástroja VBAProject
Táto časť vysvetľuje, ako môžete použiť nastavenia ochrany projektu VBA na ochranu kódu VBA pred zvedavými očami a manipuláciou rúk na určitej úrovni.
- Úroveň zabezpečenia: Slabá; Existujú nástroje ako napr Nástroj na odstraňovanie hesiel VBA ktoré možno použiť na odomknutie hesla v priebehu niekoľkých minút;
- Náročnosť: Ľahká;
- Cena: zadarmo;
Krok 1 Vyberte „Visual Basic“ z ponuky „Developer“ v Exceli.
Krok 2 Ak chcete uzamknúť svoj projekt VBA, kliknite na „Nástroje“ na paneli a potom vyberte „Vlastnosti VBAProject“.
Po kliknutí na túto položku ponuky by sa malo zobraziť nasledujúce dialógové okno:
Predvolene je vybratá karta „Všeobecné“, ale kliknite na kartu „Ochrana“.
Krok 3. Začiarknite políčko „Zamknúť projekt na prezeranie“ a potom dvakrát zadajte svoje heslo do oboch týchto polí a stlačte „OK“.
Krok 4. Uložte ho a znova otvorte súbor Excel. Dvojitým kliknutím na svoj projekt VBA budete môcť zistiť, či bola ochrana heslom VBA správne aktivovaná. Keď svoj projekt VBA ochránite heslom, zabráni to komukoľvek v náhodnej úprave.
#2 Použite VBA zmätok na ochranu vášho makro kódu
Zahmlievanie VBA je umenie urobiť váš kód VBA nečitateľným, ale stále funkčným. Upravuje vaše existujúce makrá pomocou viacerých úrovní zahmlievania, čo sťažuje pochopenie základnej logiky. Pokročilé obfuskátory VBA používajú množstvo pokročilých techník zahmlievania, vďaka čomu je spätné sledovanie a obnova značne náročnejšia.
- Úroveň zabezpečenia: Stredná; Niekto si stále bude môcť nájsť čas a minúť dostatok zdrojov na obnovenie kódu;
- Obtiažnosť: Stredná; V závislosti od úrovne;
- Cena: Voľný VBA Obfuscator /Premium;
Zahmlievanie VBA môžete použiť v tandeme s technikou #1, ktorá spočíva v tom, že modul najskôr zakryjete a potom zabezpečíte heslom. Majte na pamäti, že zahmlievanie je nezvratné, preto si pred pokračovaním vytvorte zálohu zdrojového súboru. Pamätajte tiež, že nemožno zaručiť, že sa zahmlený kód spustí bez chýb. Pred vydaním ho dôkladne otestujte. Na zahmlievanie použite jednu časť projektu. Po úspešnom teste zahmlievania prvého modulu prejdite na druhý.
#3 Prevod kódu VBA na dynamicky prepojenú knižnicu (DLL)
Kompilátory ako Visual C++ a Visual Basic vytvárajú aplikácie, ktoré je ťažké prelomiť. Je to spôsobené tým, že kód je zostavený do spustiteľných súborov alebo súborov dynamicky prepájanej knižnice. Takže môžeme tiež skompilovať kód VBA do súboru dynamicky prepojovanej knižnice a potom ho použiť v Exceli.
- Úroveň zabezpečenia: Vysoká;
- Obtiažnosť: Stredná;
- Cena: zadarmo;
Tento spôsob ochrany sa dôrazne odporúča, ale nie je 100% zaručený. Ak sa chcete dozvedieť, ako kompilovať, pozrite si pokyny na stránke VbaCompiler.com: 10 krokov na kompiláciu kódu VBA do natívnej knižnice DLL systému Windows .
# 4 Prevod VBA do C alebo C++
Prekladanie vašich makier do C alebo C++ je ťažšie spätne analyzovať ako VBA. Ak chcete chrániť svoj kód, toto je najlepší spôsob.
- Úroveň zabezpečenia: Najvyššia; Je takmer nemožné získať kód bez práv; Ale opäť to nie je 100% zaručené;
- Obtiažnosť: Zložité a časovo náročné; Pretože VBA a C/C++ sú také odlišné jazyky, je to ťažšie, pretože budete musieť investovať veľa úsilia.
Záver
Používanie makier je skvelý spôsob, ako zefektívniť vývoj pokročilých funkcií. Bohužiaľ to vystavuje váš kód riziku odcudzenia alebo skopírovania inými osobami. Článok pojednáva o metódach, ktoré môžete použiť na zabránenie iným používateľom ukradnúť alebo zasahovať do vášho kódu VBA. Upozorňujeme, že ochrana kódu VBA nie je nepriestrelná bezpečnosť, ale poskytuje určitú ochranu pred náhodnými útočníkmi.