4 na Paraan para Protektahan ang VBA (Visual Basic for Applications) Code
Ang VBA code na iyong isinusulat ay ang puso at kaluluwa ng iyong spreadsheet. Ang pagprotekta sa VBA code ay isang bagay na dapat gawin upang matiyak na ang iyong code ay hindi mananakaw o magamit nang hindi mo nalalaman. Sakop ng post na ito ang ilang iba't ibang paraan ng pagprotekta sa iyong VBA code upang IKAW lang ang madaling ma-access ito.
Bakit Dapat Mong Magmalasakit Tungkol sa Pagprotekta sa VBA Code?
Ang VBA ay isang macro language na maaaring magamit upang lumikha ng mga awtomatikong gawain o aksyon sa Excel, Word, PowerPoint. Mayroong ilang mga dahilan kung bakit dapat mong protektahan ang iyong VBA code:
- Upang protektahan ang iyong VBA code mula sa hindi sinasadyang pagbabago. Ang VBA code ay isang makapangyarihang tool para sa mga user ng Excel, ngunit maaari rin itong pagmulan ng pagkabigo para sa mga hindi gumagamit nito. Kung hindi mo nase-secure ang VBA gamit ang isang password, maaaring ma-access ng iba na gumagamit ng iyong workbook ang code at gumawa ng mga pagbabago dito nang hindi nalalaman kung ano talaga ang kanilang ginagawa. Hindi mo gustong i-debug ang iyong VBA code dahil maaari itong maging masakit—maaaring tumagal ng ilang oras upang malaman kung bakit at pagkatapos ay mas maraming oras!
- Upang protektahan ang iyong intelektwal na ari-arian. Ang VBA code ay maaaring maging napakahalaga sa ilang kumpanya. Kung may ibang taong nag-access sa iyong spreadsheet at kinopya ang functionality na ginagamit mo, maaari nilang ipasa ito bilang sarili nilang gawa at ibenta ito sa maraming kumpanya. Protektahan ang iyong mahalagang source code gamit ang mga hakbang sa seguridad. Huwag gawing madali para sa sinuman na magnakaw o kopyahin.
- To protect yourself from people using your work. If you have a valuable piece of VBA code that’s making your work easier or more efficient, then you may want to protect it for personal use only.
Mahalagang tandaan na may ilang iba't ibang paraan ng pagprotekta sa iyong VBA code, ngunit hindi lahat ng mga ito ay nagpoprotekta sa iyong code sa parehong paraan. Nasa iyo ito at kung ano ang sa tingin mo ay pinakamahusay para sa iyong mga pangangailangan.
#1 Protektahan ng Password ang VBA Code sa loob ng Excel Gamit ang VBAProject Tool
Ang bahaging ito ay nagpapaliwanag kung paano mo magagamit ang mga setting ng proteksyon ng proyekto ng VBA upang protektahan ang iyong VBA code mula sa mga mata at pakialaman ang mga kamay sa ilang antas.
- Antas ng seguridad: Mahina; May mga kasangkapan tulad ng VBA Password Remover na maaaring magamit upang i-unlock ang password sa ilang minuto;
- Pinagkakahirapan: Madali;
- Gastos: Libre;
Hakbang 1. Piliin ang "Visual Basic" mula sa menu ng "Developer" sa Excel.
Hakbang 2. Para i-lock down ang iyong VBA project, i-click ang “Tools” sa bar at pagkatapos ay piliin ang “VBAProject Properties”.
Pagkatapos mag-click sa item na ito sa menu, dapat mong makita ang sumusunod na dialog box:
Ang tab na "Pangkalahatan" ay pinili bilang default, ngunit mag-click sa tab na "Proteksyon".
Hakbang 3. Lagyan ng check ang "I-lock ang proyekto para sa pagtingin" at pagkatapos ay i-type ang iyong password nang dalawang beses sa parehong mga kahon na ito at pindutin ang "OK".
Hakbang 4. I-save ito at buksan muli ang Excel file. Masasabi mo kung maayos na pinagana ang proteksyon ng password ng VBA sa pamamagitan ng pag-double click sa iyong proyekto sa VBA. Kapag pinoprotektahan mo ang iyong proyekto sa VBA gamit ang isang password, pipigilan nito ang sinuman na hindi sinasadyang magbago.
#2 Gumamit ng VBA Obfuscation para Protektahan ang Iyong Macro Code
Ang VBA obfuscation ay ang sining ng paggawa ng iyong VBA code na hindi nababasa ngunit gumagana pa rin. Binabago nito ang iyong mga umiiral nang macro na may maraming antas ng obfuscation na nagpapahirap sa pag-unawa sa pinagbabatayan na lohika. Gumagamit ang mga advanced na VBA obfuscator ng ilang advanced na diskarte sa obfuscation, na ginagawang mas mahirap ang reverse tracing at pagbawi.
- Antas ng seguridad: Katamtaman; Magagawa pa rin ng isang tao na maglaan ng oras at gumastos ng sapat na mapagkukunan upang mabawi ang code;
- Kahirapan: Katamtaman; Depende sa antas;
- Gastos: Libreng VBA Obfuscator /Premium;
Maaari mong gamitin ang VBA obfuscation kasabay ng #1 na pamamaraan, na unang itago at pagkatapos ay i-secure ang module gamit ang isang password. Pakitandaan na ang obfuscation ay hindi maibabalik, kaya gumawa ng backup ng source file bago magpatuloy. Tandaan din na ang na-obfuscate na code ay hindi magagarantiya na maipatupad nang walang mga pagkakamali. Mangyaring subukan ito nang maigi bago ito ilabas. Gumamit ng isang bahagi ng proyekto upang i-obfuscate. Matapos ang unang module obfuscation test ay matagumpay, lumipat sa pangalawa.
#3 I-convert ang VBA Code sa Dynamic-Link Library (DLL)
Ang mga compiler tulad ng Visual C++ at Visual Basic ay gumagawa ng mga application na mahirap i-crack. Ito ay dahil sa ang katunayan na ang code ay pinagsama-sama sa mga executable na file o dynamic na link na mga file ng library. Kaya maaari rin nating i-compile ang VBA code sa isang dynamic na link library file at pagkatapos ay gamitin ito sa Excel.
- Antas ng seguridad: Mataas;
- Kahirapan: Katamtaman;
- Gastos: Libre;
Ang pamamaraang ito ng proteksyon ay lubos na inirerekomenda, ngunit hindi ito 100% garantisado. Upang matutunan kung paano mag-compile, tingnan ang mga tagubilin sa VbaCompiler.com: 10 hakbang upang i-compile ang VBA code sa katutubong Windows DLL .
#4 I-convert ang VBA sa C o C++
Ang pagsasalin ng iyong mga macro sa C o C++ ay mas mahirap i-reverse engineer kaysa sa VBA. Kung gusto mong protektahan ang iyong code, ito ang pinakamahusay na paraan.
- Antas ng seguridad: Pinakamataas; Halos imposibleng makuha ang code nang walang mga karapatan; Ngunit muli, hindi ito 100% garantisado;
- Kahirapan: Kumplikado at matagal; Dahil ang VBA at C/C++ ay magkaibang wika, mas mahirap dahil kakailanganin mong mamuhunan ng maraming pagsisikap.
Konklusyon
Ang paggamit ng mga macro ay isang mahusay na paraan upang i-streamline ang pagbuo ng mga advanced na function. Sa kasamaang palad, inilalagay nito ang iyong code sa panganib na manakaw o makopya ng iba. Tinatalakay ng artikulo ang mga paraan na maaari mong gamitin upang pigilan ang ibang mga user na magnakaw o makialam sa iyong VBA code. Pakitandaan na ang mga proteksyon ng VBA code ay hindi bulletproof na seguridad, ngunit nagbibigay ito ng ilang proteksyon laban sa mga kaswal na umaatake.