Документ

4 начина за защита на VBA (Visual Basic за приложения) код

VBA кодът, който пишете, е сърцето и душата на вашата електронна таблица. Защитата на кода на VBA е нещо, което трябва да се направи, за да сте сигурни, че вашият код няма да бъде откраднат или използван, без да знаете. Тази публикация ще обхване някои различни начини за защита на вашия VBA код, така че само ВИЕ да имате лесен достъп до него.

Защо трябва да се грижите за защитата на VBA кода?

VBA е макро език, който може да се използва за създаване на автоматизирани задачи или действия в Excel, Word, PowerPoint. Има няколко причини, поради които трябва да защитите своя VBA код:

  • За да защитите вашия VBA код от случайна промяна. VBA кодът е мощен инструмент за потребителите на Excel, но може да бъде и източник на разочарование за тези, които не го използват. Ако не защитите VBA с парола, други, които използват вашата работна книга, могат да имат достъп до кода и да правят промени в него, без да знаят какво всъщност правят. Не искате да отстранявате грешки във вашия VBA код, защото може да бъде болезнено - може да отнеме часове, за да разберете защо и след това още повече време!
  • За защита на вашата интелектуална собственост. VBA кодът може да бъде много ценен за някои компании. Ако някой друг получи достъп до вашата електронна таблица и копира функционалността, която използвате, той потенциално може да я предаде като своя собствена работа и да я продаде на много компании. Защитете своя ценен изходен код с мерки за сигурност. Не улеснявайте никого да краде или копира.
  • За да се предпазите от хора, които използват работата ви. Ако имате ценна част от VBA код, която прави работата ви по-лесна или по-ефективна, тогава може да искате да я защитите само за лична употреба.

Важно е да се отбележи, че има няколко различни начина за защита на вашия VBA код, но не всички от тях защитават вашия код по един и същи начин. От вас зависи и какво смятате, че е най-добро за вашите нужди.

#1 Защитете с парола VBA код в Excel с помощта на инструмента VBAProject

Тази част обяснява как можете да използвате настройките за защита на проекта на VBA, за да защитите вашия VBA код от любопитни очи и намеса на някакво ниво.

  • Ниво на сигурност: Слабо; Има инструменти като Премахване на парола за VBA който може да се използва за отключване на паролата за минути;
  • Трудност: Лесно;
  • Цена: Безплатно;

Стъпка 1. Изберете „Visual Basic“ от менюто „Разработчик“ в Excel.

Отворете панела на Visual Basic от раздела за разработчици на Excel

Стъпка 2. За да заключите вашия VBA проект, щракнете върху „Инструменти“ в лентата и след това изберете „VBAProject Properties“.

Изберете Свойства на VBAProject, за да зададете парола

След като щракнете върху този елемент от менюто, трябва да видите следния диалогов прозорец:

Основният интерфейс на свойствата на VBAProject

Разделът „Общи“ е избран по подразбиране, но щракнете върху раздела „Защита“.

Стъпка 3. Поставете отметка до „Заключване на проекта за преглед“ и след това въведете паролата си два пъти в двете полета и натиснете „OK“.

Заключете VBA проект за преглед и задайте парола за защита на VBA кода

Стъпка 4. Запазете го и отворете отново Excel файла. Ще можете да разберете дали защитата с парола на VBA е била активирана правилно, като щракнете двукратно върху вашия VBA проект. Когато защитите своя VBA проект с парола, това ще попречи на някой случайно да го промени.

Необходима е парола за преглед на VBA код

#2 Използвайте VBA обфускация, за да защитите своя макро код

VBA обфускацията е изкуството да направите вашия VBA код нечетлив, но все пак функционален. Той модифицира вашите съществуващи макроси с множество нива на обфускация, което затруднява разбирането на основната логика. Разширените обфускатори на VBA използват редица усъвършенствани техники за обфускация, което прави обратното проследяване и възстановяване значително по-предизвикателно.

  • Ниво на сигурност: Средно; Някой все пак ще може да отдели време и да похарчи достатъчно ресурси, за да възстанови кода;
  • Трудност: Средна; В зависимост от нивото;
  • Цена: Безплатен VBA Obfuscator /Премиум;

Можете да използвате VBA обфускация в тандем с техника №1, която е първо да скриете и след това да защитите модула с парола. Моля, имайте предвид, че обфускацията е необратима, така че направете резервно копие на изходния файл, преди да продължите. Също така не забравяйте, че не може да се гарантира, че обфусцираният код ще се изпълни без грешки. Моля, тествайте го внимателно, преди да го пуснете. Използвайте една част от проекта, за да затъмните. След като първият тест за обфускация на модула е успешен, преминете към втория.

#3 Преобразувайте VBA код в библиотека с динамични връзки (DLL)

Компилатори като Visual C++ и Visual Basic създават приложения, които са трудни за кракване. Това се дължи на факта, че кодът се компилира в изпълними файлове или файлове на библиотека с динамични връзки. Така че можем също така да компилираме VBA кода във файл с библиотека с динамични връзки и след това да го използваме в Excel.

  • Ниво на сигурност: Високо;
  • Трудност: Средна;
  • Цена: Безплатно;

Този метод на защита е силно препоръчителен, но не е 100% гарантиран. За да научите как да компилирате, вижте инструкциите на VbaCompiler.com: 10 стъпки за компилиране на VBA код в собствен DLL на Windows .

Компилацията на VBA код на Excel файл е извършена успешно с VbaCompiler за Excel

#4 Конвертирайте VBA в C или C++

Превеждането на вашите макроси в C или C++ е по-трудно за обратно проектиране от VBA. Ако искате да защитите кода си, това е най-добрият начин.

  • Ниво на сигурност: Най-високо; Почти невъзможно е да получите кода без права; Но отново, това не е 100% гарантирано;
  • Трудност: Сложно и отнема много време; Тъй като VBA и C/C++ са толкова различни езици, е по-трудно, тъй като ще трябва да инвестирате много усилия.

Заключение

Използването на макроси е чудесен начин за рационализиране на разработването на разширени функции. За съжаление, това излага вашия код на риск да бъде откраднат или копиран от други. Статията обсъжда методи, които можете да използвате, за да попречите на други потребители да откраднат или подправят вашия VBA код. Моля, обърнете внимание, че защитата на кода на VBA не е бронирана защита, но предоставя известна защита срещу случайни нападатели.

Снимка на Сузана

Сузана

Сузана е мениджър на съдържанието и писател на Filelem. Тя е била опитен редактор и дизайнер на оформление на книги в продължение на много години и се интересува от изпробване и тестване на различен софтуер за продуктивност. Тя също е голям фен на Kindle, която използва Kindle Touch от близо 7 години и носи Kindle почти навсякъде, където отиде. Неотдавна устройството беше в края на живота си, така че Сузана с радост си купи Kindle Oasis.

Свързани статии

Бутон за връщане в началото