4 sposoby ochrony kodu VBA (Visual Basic for Applications)
Kod VBA, który piszesz, jest sercem i duszą Twojego arkusza kalkulacyjnego. Ochrona kodu VBA to coś, co należy zrobić, aby mieć pewność, że Twój kod nie zostanie skradziony lub użyty bez Twojej wiedzy. Ten post obejmie kilka różnych sposobów ochrony Twojego kodu VBA, aby tylko TY miał do niego łatwy dostęp.
Dlaczego warto zadbać o ochronę kodu VBA?
VBA to język makro, który można wykorzystać do tworzenia zautomatyzowanych zadań lub akcji w programach Excel, Word, PowerPoint. Istnieje kilka powodów, dla których należy chronić kod VBA:
- Aby chronić kod VBA przed przypadkową zmianą. Kod VBA jest potężnym narzędziem dla użytkowników programu Excel, ale może być również źródłem frustracji dla tych, którzy go nie używają. Jeśli nie zabezpieczysz VBA hasłem, inni użytkownicy skoroszytu będą mogli uzyskać dostęp do kodu i wprowadzać w nim zmiany, nie wiedząc, co właściwie robią. Nie chcesz debugować kodu VBA, ponieważ może to być bolesne — może zająć godziny, aby dowiedzieć się, dlaczego tak się dzieje, a potem jeszcze więcej czasu!
- Aby chronić swoją własność intelektualną. Kod VBA może być bardzo cenny dla niektórych firm. Jeśli ktoś inny uzyska dostęp do Twojego arkusza kalkulacyjnego i skopiuje funkcjonalność, której używasz, może potencjalnie przedstawić go jako swoją własną pracę i sprzedać wielu firmom. Chroń swój cenny kod źródłowy za pomocą środków bezpieczeństwa. Nie ułatwiaj nikomu kradzieży ani kopiowania.
- Aby chronić się przed osobami wykorzystującymi Twoją pracę. Jeśli masz wartościowy fragment kodu VBA, który ułatwia lub usprawnia Twoją pracę, możesz chcieć zabezpieczyć go wyłącznie do użytku osobistego.
Ważne jest, aby pamiętać, że istnieje kilka różnych sposobów ochrony kodu VBA, ale nie wszystkie chronią kod w ten sam sposób. To zależy od Ciebie i tego, co uważasz za najlepsze dla swoich potrzeb.
#1 Zabezpiecz hasłem kod VBA w programie Excel za pomocą narzędzia VBAProject
W tej części wyjaśniono, jak można użyć ustawień ochrony projektu VBA, aby zabezpieczyć kod VBA przed ciekawskimi oczami i ingerencją osób trzecich.
- Poziom bezpieczeństwa: Słaby; Istnieją narzędzia takie jak: Narzędzie do usuwania hasła VBA którego można użyć do odblokowania hasła w ciągu kilku minut;
- Stopień trudności: łatwy;
- Koszt: Bezpłatny;
Krok 1. Wybierz „Visual Basic” z menu „Deweloper” w programie Excel.
Krok 2. Aby zablokować projekt VBA, kliknij „Narzędzia” na pasku, a następnie wybierz „Właściwości projektu VBA”.
Po kliknięciu tej pozycji menu powinno zostać wyświetlone następujące okno dialogowe:
Domyślnie wybrana jest zakładka „Ogólne”, ale kliknij zakładkę „Ochrona”.
Krok 3. Zaznacz opcję „Zablokuj projekt do wyświetlania”, a następnie wpisz dwukrotnie swoje hasło w obu polach i kliknij „OK”.
Krok 4. Zapisz go i ponownie otwórz plik Excel. Będziesz w stanie stwierdzić, czy ochrona hasłem VBA została prawidłowo włączona, klikając dwukrotnie swój projekt VBA. Gdy zabezpieczysz swój projekt VBA hasłem, zapobiegnie to przypadkowej modyfikacji przez kogokolwiek.
#2 Użyj zaciemniania VBA, aby chronić swój kod makr
Zaciemnianie VBA to sztuka sprawiania, że kod VBA staje się nieczytelny, ale nadal funkcjonalny. Modyfikuje istniejące makra za pomocą wielu poziomów zaciemniania, co utrudnia zrozumienie podstawowej logiki. Zaawansowane zaciemniacze VBA wykorzystują szereg zaawansowanych technik zaciemniania, co znacznie utrudnia odwrotne śledzenie i odzyskiwanie.
- Poziom bezpieczeństwa: Średni; Ktoś nadal będzie w stanie poświęcić czas i zainwestować środki, aby odzyskać kod;
- Stopień trudności: Umiarkowany; w zależności od poziomu;
- Koszt: Darmowy obfuscator VBA /Premia;
Możesz użyć zaciemniania VBA w połączeniu z techniką nr 1, która polega na najpierw zaciemnieniu, a następnie zabezpieczeniu modułu hasłem. Pamiętaj, że zaciemnianie jest nieodwracalne, więc przed kontynuowaniem wykonaj kopię zapasową pliku źródłowego. Pamiętaj również, że nie można zagwarantować, że zaciemniony kod wykona się bez błędów. Przetestuj go dokładnie przed udostępnieniem. Użyj pojedynczej części projektu do zaciemnienia. Po pomyślnym teście zaciemniania pierwszego modułu przejdź do drugiego.
#3 Konwertuj kod VBA na bibliotekę DLL (Dynamic-Link Library)
Kompilatory takie jak Visual C++ i Visual Basic tworzą aplikacje, które są trudne do złamania. Wynika to z faktu, że kod jest kompilowany do plików wykonywalnych lub plików bibliotek dołączanych dynamicznie. Możemy więc również skompilować kod VBA do pliku biblioteki dołączanej dynamicznie, a następnie użyć go w programie Excel.
- Poziom bezpieczeństwa: Wysoki;
- Stopień trudności: Umiarkowany;
- Koszt: Bezpłatny;
Ta metoda ochrony jest wysoce zalecana, ale nie jest w 100% gwarantowana. Aby dowiedzieć się, jak kompilować, zobacz instrukcje na VbaCompiler.com: 10 kroków kompilacji kodu VBA do natywnej biblioteki DLL systemu Windows .
#4 Konwersja VBA na C lub C++
Tłumaczenie makr na C lub C++ jest trudniejsze do odtworzenia niż VBA. Jeśli chcesz chronić swój kod, to jest najlepszy sposób.
- Poziom bezpieczeństwa: Najwyższy; Niemal niemożliwe jest zdobycie kodu bez uprawnień; Ale znowu, nie ma 100% gwarancji;
- Stopień trudności: Skomplikowany i czasochłonny. Ponieważ VBA i C/C++ to tak różne języki, jest to trudniejsze, ponieważ trzeba włożyć dużo wysiłku.
Wniosek
Używanie makr to świetny sposób na usprawnienie rozwoju zaawansowanych funkcji. Niestety, naraża to Twój kod na ryzyko kradzieży lub skopiowania przez innych. W artykule omówiono metody, których możesz użyć, aby uniemożliwić innym użytkownikom kradzież lub manipulację Twoim kodem VBA. Należy pamiętać, że zabezpieczenia kodu VBA nie są kuloodporne, ale zapewniają pewną ochronę przed przypadkowymi atakującymi.