4 způsoby ochrany kódu VBA (Visual Basic for Applications).

Kód VBA, který napíšete, je srdcem a duší vaší tabulky. Ochrana kódu VBA je něco, co byste měli udělat, abyste se ujistili, že váš kód nebude odcizen nebo použit bez vašeho vědomí. Tento příspěvek se bude zabývat několika různými způsoby ochrany vašeho kódu VBA, abyste k němu měli snadný přístup pouze VY.
Proč byste se měli starat o ochranu kódu VBA?
VBA je jazyk maker, který lze použít k vytváření automatických úkolů nebo akcí v aplikacích Excel, Word, PowerPoint. Existuje několik důvodů, proč byste měli chránit svůj kód VBA:
- Chcete-li chránit váš kód VBA před náhodnou změnou. Kód VBA je mocný nástroj pro uživatele Excelu, ale může být také zdrojem frustrace pro ty, kteří jej nepoužívají. Pokud VBA nezabezpečíte heslem, mohou ostatní uživatelé vašeho sešitu přistupovat ke kódu a provádět v něm změny, aniž by věděli, co vlastně dělají. Nechcete ladit svůj kód VBA, protože to může být bolestivé – může trvat hodiny, než zjistíte proč, a pak ještě více času!
- K ochraně vašeho duševního vlastnictví. Kód VBA může být pro některé společnosti velmi cenný. Pokud někdo jiný přistoupí k vaší tabulce a zkopíruje funkcionalitu, kterou používáte, mohl by to potenciálně vydávat za své vlastní dílo a prodávat je mnoha společnostem. Chraňte svůj cenný zdrojový kód pomocí bezpečnostních opatření. Neusnadňujte nikomu krádež nebo kopírování.
- Chcete-li se chránit před lidmi, kteří používají vaši práci. Pokud máte cenný kus kódu VBA, který vám usnadňuje nebo zefektivňuje práci, možná jej budete chtít chránit pouze pro osobní použití.
Je důležité si uvědomit, že existuje několik různých způsobů ochrany kódu VBA, ale ne všechny chrání váš kód stejným způsobem. Je to na vás a na tom, co si myslíte, že je pro vaše potřeby nejlepší.
#1 Ochrana heslem VBA kód v Excelu pomocí nástroje VBAProject
Tato část vysvětluje, jak můžete použít nastavení ochrany projektu VBA k ochraně kódu VBA před zvědavýma očima a manipulací s rukama na určité úrovni.
- Úroveň zabezpečení: Slabá; Existují nástroje jako např Odstraňovač hesel VBA které lze použít k odemknutí hesla během několika minut;
- Obtížnost: Snadná;
- Cena: Zdarma;
Krok 1 Vyberte „Visual Basic“ z nabídky „Developer“ v Excelu.
Krok 2 Chcete-li zamknout svůj projekt VBA, klikněte na „Nástroje“ na liště a poté vyberte „Vlastnosti VBAProject“.
Po kliknutí na tuto položku nabídky byste měli vidět následující dialogové okno:
Ve výchozím nastavení je vybrána karta „Obecné“, ale klikněte na kartu „Ochrana“.
Krok 3 Zaškrtněte „Zamknout projekt pro prohlížení“ a poté dvakrát zadejte své heslo do obou těchto polí a stiskněte „OK“.
Krok 4. Uložte jej a znovu otevřete soubor Excel. Zda byla ochrana heslem VBA správně povolena, budete moci zjistit poklepáním na svůj projekt VBA. Když svůj projekt VBA ochráníte heslem, zabráníte tak náhodné úpravě.
#2 Použijte VBA zmatek k ochraně kódu makra
Zatemnění VBA je umění učinit váš kód VBA nečitelným, ale stále funkčním. Upravuje vaše stávající makra pomocí několika úrovní zmatku, což ztěžuje pochopení základní logiky. Pokročilé obfuskátory VBA používají řadu pokročilých technik mlžení, takže zpětné trasování a obnova jsou podstatně náročnější.
- Úroveň zabezpečení: Střední; Někdo si stále bude moci udělat čas a utratit dostatek prostředků na obnovu kódu;
- Obtížnost: střední; V závislosti na úrovni;
- Náklady: Zdarma VBA Obfuscator /Pojistné;
Zatemnění VBA můžete použít v tandemu s technikou #1, což je nejprve zakrýt a poté zabezpečit modul heslem. Mějte prosím na paměti, že zmatek je nevratný, proto si před pokračováním udělejte zálohu zdrojového souboru. Pamatujte také, že nelze zaručit, že se zamlžený kód spustí bez chyb. Před vydáním jej důkladně otestujte. Použijte jednu část projektu k obfuskaci. Po úspěšném testu zatemnění prvního modulu přejděte k druhému.
#3 Převod kódu VBA na dynamickou knihovnu (DLL)
Kompilátory jako Visual C++ a Visual Basic vytvářejí aplikace, které je obtížné prolomit. To je způsobeno skutečností, že kód je kompilován do spustitelných souborů nebo souborů dynamicky propojované knihovny. Můžeme tedy také zkompilovat kód VBA do souboru dynamicky propojované knihovny a poté jej použít v Excelu.
- Úroveň zabezpečení: Vysoká;
- Obtížnost: střední;
- Cena: Zdarma;
Tento způsob ochrany je vysoce doporučený, ale není 100% zaručen. Chcete-li se dozvědět, jak kompilovat, podívejte se na pokyny na VbaCompiler.com: 10 kroků ke kompilaci kódu VBA do nativní Windows DLL .
# 4 Převeďte VBA do C nebo C++
Překlad maker do C nebo C++ je těžší zpětně analyzovat než VBA. Pokud chcete chránit svůj kód, je to nejlepší způsob.
- Úroveň zabezpečení: Nejvyšší; Je téměř nemožné získat kód bez práv; Ale opět to není 100% zaručeno;
- Obtížnost: Složité a časově náročné; Protože VBA a C/C++ jsou tak odlišné jazyky, je to obtížnější, protože budete muset investovat hodně úsilí.
Závěr
Použití maker je skvělý způsob, jak zefektivnit vývoj pokročilých funkcí. Bohužel tím váš kód vystavujete riziku odcizení nebo zkopírování ostatními. Článek popisuje metody, které můžete použít k tomu, abyste zabránili ostatním uživatelům v krádeži nebo manipulaci s vaším kódem VBA. Vezměte prosím na vědomí, že ochrana kódu VBA není neprůstřelné zabezpečení, ale poskytuje určitou ochranu před náhodnými útočníky.