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.
Крок 2. Щоб заблокувати проект VBA, натисніть «Інструменти» на панелі, а потім виберіть «Властивості VBAProject».
Після натискання цього пункту меню ви повинні побачити таке діалогове вікно:
За замовчуванням вибрано вкладку «Загальні», але натисніть вкладку «Захист».
Крок 3. Поставте прапорець «Заблокувати проект для перегляду», потім двічі введіть свій пароль в обидва ці поля та натисніть «ОК».
Крок 4. Збережіть його та знову відкрийте файл Excel. Ви зможете дізнатися, чи належним чином увімкнено захист паролем VBA, двічі клацнувши свій проект VBA. Якщо ви захистите свій проект VBA паролем, це запобіжить будь-кому випадковому внесенню змін.
#2 Використовуйте обфускацію VBA для захисту коду макросу
Обфускація VBA — це мистецтво зробити ваш код VBA нечитабельним, але все ще функціональним. Він змінює наявні макроси за допомогою кількох рівнів обфускації, що ускладнює розуміння основної логіки. Розширені обфускатори VBA використовують низку передових методів обфускації, що робить зворотне трасування та відновлення значно складнішим.
- Рівень безпеки: Середній; Хтось все одно зможе приділити час і витратити достатньо ресурсів, щоб відновити код;
- Складність: Середня; Залежно від рівня;
- Вартість: Безкоштовний обфускатор VBA /Преміум;
Ви можете використовувати обфускацію VBA в тандемі з технікою №1, яка полягає в тому, щоб спочатку приховати, а потім захистити модуль паролем. Майте на увазі, що обфускація необоротна, тому створіть резервну копію вихідного файлу, перш ніж продовжити. Також пам’ятайте, що не можна гарантувати безпомилкове виконання обфусцованого коду. Будь ласка, ретельно протестуйте його перед випуском. Використовуйте одну частину проекту для обфускації. Після успішного виконання першого тесту на обфускацію модуля переходьте до другого.
#3 Перетворення коду VBA на динамічну бібліотеку (DLL)
Такі компілятори, як Visual C++ і Visual Basic, створюють програми, які важко зламати. Це пов’язано з тим, що код компілюється у виконувані файли або файли бібліотеки динамічних посилань. Тому ми також можемо скомпілювати код VBA у файл бібліотеки динамічних посилань, а потім використовувати його в Excel.
- Рівень безпеки: Високий;
- Складність: Середня;
- Вартість: безкоштовно;
Цей спосіб захисту настійно рекомендується, але він не гарантований на 100%. Щоб дізнатися, як компілювати, перегляньте інструкції на VbaCompiler.com: 10 кроків для компіляції коду VBA у рідну DLL Windows .
#4 Перетворення VBA на C або C++
Переклад ваших макросів на C або C++ важче відновити, ніж VBA. Якщо ви хочете захистити свій код, це найкращий спосіб.
- Рівень безпеки: Найвищий; Майже неможливо отримати код без прав; Але знову ж таки, це не гарантовано на 100%.
- Складність: складний і трудомісткий; Оскільки VBA та C/C++ є такими різними мовами, це складніше, оскільки вам доведеться докласти багато зусиль.
Висновок
Використання макросів — це чудовий спосіб оптимізувати розробку розширених функцій. На жаль, це ставить ваш код під загрозу викрадення або копіювання іншими. У статті обговорюються методи, які можна використовувати, щоб запобігти крадіжці або підробці коду VBA іншими користувачами. Зауважте, що захист коду VBA не є надійним захистом, але забезпечує певний захист від випадкових зловмисників.