4 načina za zaštitu VBA (Visual Basic for Applications) koda
VBA kôd koji napišete srce je i duša vaše proračunske tablice. Zaštita VBA koda je nešto što bi trebalo učiniti kako biste bili sigurni da vaš kôd neće biti ukraden ili korišten bez vašeg znanja. Ovaj će post pokriti neke različite načine zaštite vašeg VBA koda tako da mu samo VI možete lako pristupiti.
Zašto biste trebali brinuti o zaštiti VBA koda?
VBA je makro jezik koji se može koristiti za stvaranje automatiziranih zadataka ili radnji u Excelu, Wordu, PowerPointu. Postoji nekoliko razloga zašto biste trebali zaštititi svoj VBA kod:
- Za zaštitu vašeg VBA koda od slučajne promjene. VBA kod moćan je alat za korisnike Excela, ali može biti i izvor frustracije za one koji ga ne koriste. Ako ne osigurate VBA lozinkom, drugi koji koriste vašu radnu knjigu mogu pristupiti kodu i mijenjati ga, a da ne znaju što zapravo rade. Ne želite ispravljati pogreške u svom VBA kodu jer to može biti bolno — možda će vam trebati sati da shvatite zašto, a zatim još više vremena!
- Za zaštitu vašeg intelektualnog vlasništva. VBA kod može biti vrlo vrijedan nekim tvrtkama. Ako netko drugi pristupi vašoj proračunskoj tablici i kopira funkcionalnost koju koristite, potencijalno bi je mogao proslijediti kao svoj vlastiti rad i prodati mnogim tvrtkama. Zaštitite svoj vrijedan izvorni kod sigurnosnim mjerama. Nemojte nikome olakšavati krađu ili kopiranje.
- Kako biste se zaštitili od ljudi koji koriste vaš rad. Ako imate vrijedan dio VBA koda koji vam olakšava ili čini učinkovitijim rad, možda biste ga trebali zaštititi samo za osobnu upotrebu.
Važno je napomenuti da postoji nekoliko različitih načina zaštite vašeg VBA koda, ali ne štite svi na isti način. Na vama je da odlučite što mislite da je najbolje za vaše potrebe.
#1 Zaštitite lozinkom VBA kod unutar Excela pomoću alata VBAProject
Ovaj dio objašnjava kako možete koristiti postavke zaštite VBA projekta da zaštitite svoj VBA kod od znatiželjnih pogleda i ruku na nekoj razini.
- Razina sigurnosti: Slaba; Postoje alati kao što su VBA Password Remover koji se može koristiti za otključavanje lozinke u nekoliko minuta;
- Težina: lako;
- Cijena: besplatno;
Korak 1. Odaberite “Visual Basic” iz izbornika “Developer” u programu Excel.
Korak 2. Da biste zaključali svoj VBA projekt, kliknite "Alati" na traci i zatim odaberite "VBAProject Properties".
Nakon što kliknete na ovu stavku izbornika, trebali biste vidjeti sljedeći dijaloški okvir:
Kartica "Općenito" odabrana je prema zadanim postavkama, ali kliknite na karticu "Zaštita".
3. korak Označite "Zaključaj projekt za gledanje", a zatim dvaput upišite svoju lozinku u oba ova okvira i pritisnite "U redu".
Korak 4. Spremite ga i ponovno otvorite Excel datoteku. Moći ćete vidjeti je li VBA zaštita lozinkom ispravno omogućena ako dvaput kliknete svoj VBA projekt. Kada svoj VBA projekt zaštitite lozinkom, to će spriječiti bilo koga od slučajne izmjene.
#2 Upotrijebite VBA maskiranje da zaštitite svoj makro kod
VBA maskiranje je umijeće učiniti vaš VBA kod nečitljivim, ali još uvijek funkcionalnim. Modificira vaše postojeće makronaredbe s višestrukim razinama maskiranja što otežava razumijevanje temeljne logike. Napredni VBA maskatori koriste brojne napredne tehnike maskiranja, čineći obrnuto praćenje i oporavak znatno izazovnijim.
- Razina sigurnosti: Srednja; Netko će ipak moći odvojiti vrijeme i potrošiti dovoljno resursa za oporavak koda;
- Poteškoća: umjerena; Ovisno o razini;
- Cijena: Besplatni VBA Obfuscator /Premija;
Možete koristiti VBA zamagljivanje u tandemu s tehnikom br. 1, a to je prvo skrivanje, a zatim osiguranje modula lozinkom. Imajte na umu da je maskiranje nepovratno, stoga napravite sigurnosnu kopiju izvorne datoteke prije nastavka. Također zapamtite da se ne može jamčiti da će se maskirani kod izvršavati bez grešaka. Molimo da ga temeljito testirate prije nego što ga pustite. Koristite jedan dio projekta za maskiranje. Nakon što je prvi test maskiranja modula uspješan, prijeđite na drugi.
#3 Pretvorite VBA kod u biblioteku dinamičke veze (DLL)
Kompajleri kao što su Visual C++ i Visual Basic proizvode aplikacije koje je teško provaliti. To je zbog činjenice da se kod kompilira u izvršne datoteke ili datoteke biblioteke dinamičkih veza. Dakle, također možemo kompajlirati VBA kod u datoteku biblioteke dinamičkih veza i zatim je koristiti u Excelu.
- Razina sigurnosti: Visoka;
- Poteškoća: umjerena;
- Cijena: besplatno;
Ova metoda zaštite se toplo preporučuje, ali nije 100% zajamčena. Kako biste saznali kako kompilirati, pogledajte upute na VbaCompiler.com: 10 koraka za kompajliranje VBA koda u izvorni Windows DLL .
#4 Pretvorite VBA u C ili C++
Prevođenje vaših makronaredbi u C ili C++ teže je obrnutim inženjeringom nego VBA. Ako želite zaštititi svoj kod, ovo je najbolji način.
- Razina sigurnosti: Najviša; Gotovo je nemoguće dobiti kod bez prava; Ali opet, nije 100% zajamčeno;
- Težina: komplicirano i dugotrajno; Budući da su VBA i C/C++ toliko različiti jezici, to je teže jer ćete morati uložiti puno truda.
Zaključak
Korištenje makronaredbi izvrstan je način za usmjeravanje razvoja naprednih funkcija. Nažalost, ovo dovodi vaš kod u opasnost da ga drugi ukradu ili kopiraju. U članku se govori o metodama koje možete koristiti da spriječite druge korisnike u krađi ili petljanju s vašim VBA kodom. Imajte na umu da zaštita koda VBA nije neprobojna sigurnost, ali pruža određenu zaštitu od povremenih napadača.