VBA (Visual Basic for Applications) kodini himoya qilishning 4 usuli

Siz yozgan VBA kodi elektron jadvalingizning qalbi va ruhidir. VBA kodini himoya qilish sizning kodingiz o'g'irlanmasligi yoki siz bilmasdan ishlatilmasligiga ishonch hosil qilish uchun bajarilishi kerak bo'lgan narsadir. Ushbu post VBA kodingizni himoya qilishning turli usullarini o'z ichiga oladi, shunda unga faqat SIZ osongina kirishingiz mumkin.
Nima uchun VBA kodini himoya qilish haqida qayg'urishingiz kerak?
VBA - bu Excel, Word, PowerPoint-da avtomatlashtirilgan vazifalar yoki harakatlar yaratish uchun ishlatilishi mumkin bo'lgan so'l til. VBA kodingizni himoya qilish uchun bir nechta sabablar mavjud:
- VBA kodingizni tasodifiy o'zgartirishdan himoya qilish uchun. VBA kodi Excel foydalanuvchilari uchun kuchli vositadir, lekin undan foydalanmayotganlar uchun hafsalasi pir bo'lishi mumkin. Agar siz VBA-ni parol bilan himoya qilmasangiz, ishchi kitobingizdan foydalanadigan boshqalar kodga kirishlari va aslida nima qilayotganlarini bilmasdan unga o'zgartirishlar kiritishlari mumkin. Siz VBA kodingizni disk raskadrovka qilishni xohlamaysiz, chunki bu og'riqli bo'lishi mumkin - buning sababini tushunish uchun bir necha soat va undan ham ko'proq vaqt ketishi mumkin!
- Intellektual mulkingizni himoya qilish uchun. VBA kodi ba'zi kompaniyalar uchun juda qimmatli bo'lishi mumkin. Agar kimdir sizning elektron jadvalingizga kirsa va siz foydalanadigan funksiyalardan nusxa olsa, ular uni o'zlarining ishi sifatida o'tkazib yuborishlari va ko'plab kompaniyalarga sotishlari mumkin. Xavfsizlik choralari bilan qimmatli manba kodingizni himoya qiling. Hech kimga o'g'irlash yoki nusxa ko'chirishni osonlashtirmang.
- Ishingizdan foydalanadigan odamlardan o'zingizni himoya qilish uchun. Agar sizda ishingizni osonlashtiradigan yoki samaraliroq qiladigan qimmatli VBA kodingiz bo'lsa, uni faqat shaxsiy foydalanish uchun himoya qilishni xohlashingiz mumkin.
Shuni ta'kidlash kerakki, VBA kodingizni himoya qilishning bir necha xil usullari mavjud, ammo ularning hammasi ham kodingizni bir xil tarzda himoya qilmaydi. Bu sizga bog'liq va sizning ehtiyojlaringiz uchun nima eng yaxshi deb o'ylaysiz.
#1 VBAProject Tool yordamida Excel ichida VBA kodini parol bilan himoya qiling
Ushbu qismda VBA kodingizni begona ko'zlardan va ba'zi darajadagi qo'llarni buzishdan himoya qilish uchun VBA loyihasini himoya qilish sozlamalaridan qanday foydalanishingiz mumkinligi tushuntiriladi.
- Xavfsizlik darajasi: zaif; kabi vositalar mavjud VBA parolni o'chirish vositasi bir necha daqiqada parolni ochish uchun ishlatilishi mumkin;
- Qiyinchilik: oson;
- Narxi: bepul;
1-qadam. Excel-dagi "Developer" menyusidan "Visual Basic" ni tanlang.
2-qadam. VBA loyihangizni blokirovka qilish uchun paneldagi "Asboblar" ni bosing va keyin "VBAProject Properties" ni tanlang.
Ushbu menyu bandini bosgandan so'ng, siz quyidagi dialog oynasini ko'rishingiz kerak:
"Umumiy" yorlig'i sukut bo'yicha tanlangan, ammo "Himoya" yorlig'ini bosing.
3-qadam. "Loyihani ko'rish uchun bloklash" ni belgilang, so'ngra ikkala katakchaga parolingizni ikki marta kiriting va "OK" tugmasini bosing.
4-qadam. Uni saqlang va Excel faylini qayta oching. VBA loyihangizni ikki marta bosish orqali VBA parolini himoya qilish to'g'ri yoqilganligini aniqlashingiz mumkin. Agar siz VBA loyihangizni parol bilan himoya qilsangiz, u hech kimni tasodifan o'zgartirishdan saqlaydi.
#2 Ibratli kodingizni himoya qilish uchun VBA obfuscation dan foydalaning
VBA xiralashtirish - bu VBA kodingizni o'qib bo'lmaydigan, ammo baribir funktsional qilish san'ati. U mavjud makroslaringizni bir necha darajadagi chalkashliklar bilan o'zgartiradi, bu esa asosiy mantiqni tushunishni qiyinlashtiradi. Murakkab VBA obfuscatorlari bir qator ilg'or xiralashtirish usullaridan foydalanadi, bu esa teskari kuzatuv va tiklashni ancha qiyinlashtiradi.
- Xavfsizlik darajasi: O'rta; Kimdir kodni tiklash uchun hali ham vaqt ajratishi va etarli resurslarni sarflashi mumkin bo'ladi;
- Qiyinchilik: o'rtacha; Darajasiga qarab;
- Narxi: Bepul VBA obfuscator /Premium;
Siz VBA xiralashtirishdan №1 texnika bilan tandemda foydalanishingiz mumkin, ya'ni modulni avval yashirish va keyin parol bilan himoyalash. Yodda tutingki, noaniqlik qaytarilmas, shuning uchun davom etishdan oldin manba faylining zaxira nusxasini yarating. Shuni ham yodda tutingki, noaniq kod xatosiz bajarilishi kafolatlanmaydi. Iltimos, uni chiqarishdan oldin uni yaxshilab sinab ko'ring. Xiralashtirish uchun loyihaning bitta qismidan foydalaning. Birinchi modulni chalkashtirish testi muvaffaqiyatli o'tgandan so'ng, ikkinchisiga o'ting.
№3 VBA kodini Dynamic-Link Library (DLL) ga aylantirish
Visual C++ va Visual Basic kabi kompilyatorlar sinishi qiyin bo'lgan ilovalarni ishlab chiqaradi. Bu kodning bajariladigan fayllar yoki dinamik havola kutubxonasi fayllariga kompilyatsiya qilinganligi bilan bog'liq. Shunday qilib, biz VBA kodini dinamik havola kutubxonasi fayliga kompilyatsiya qilishimiz va keyin uni Excelda ishlatishimiz mumkin.
- Xavfsizlik darajasi: Yuqori;
- Qiyinchilik: o'rtacha;
- Narxi: bepul;
Ushbu himoya usuli juda tavsiya etiladi, ammo u 100% kafolatlanmaydi. Kompilyatsiya qilishni o'rganish uchun VbaCompiler.com saytidagi ko'rsatmalarga qarang: VBA kodini mahalliy Windows DLL ga kompilyatsiya qilish uchun 10 qadam .
#4 VBA ni C yoki C++ ga aylantiring
Makroslaringizni C yoki C++ ga tarjima qilish VBAga qaraganda teskari muhandislik qilish qiyinroq. Agar siz kodingizni himoya qilishni istasangiz, bu eng yaxshi usul.
- Xavfsizlik darajasi: Eng yuqori; Huquqsiz kodni olish deyarli mumkin emas; Lekin yana, bu 100% kafolatlangan emas;
- Qiyinchilik: murakkab va vaqt talab qiluvchi; VBA va C/C++ juda xilma-xil tillar bo'lgani uchun bu qiyinroq, chunki siz ko'p kuch sarflashingiz kerak bo'ladi.
Xulosa
Makroslardan foydalanish ilg'or funktsiyalarni ishlab chiqishni soddalashtirishning ajoyib usuli hisoblanadi. Afsuski, bu sizning kodingizni boshqalar tomonidan o'g'irlanishi yoki nusxalanishi xavfini tug'diradi. Maqolada siz boshqa foydalanuvchilarning VBA kodingizni o'g'irlash yoki buzishiga yo'l qo'ymaslik uchun foydalanishingiz mumkin bo'lgan usullar muhokama qilinadi. Shuni esda tutingki, VBA kod himoyasi o'q o'tkazmaydigan xavfsizlik emas, lekin u tasodifiy tajovuzkorlardan himoya qiladi.