4 būdai, kaip apsaugoti VBA (Visual Basic for Applications) kodą
Jūsų parašytas VBA kodas yra jūsų skaičiuoklės širdis ir siela. Apsaugokite VBA kodą, kad įsitikintumėte, jog jūsų kodas nebus pavogtas arba naudojamas jums nežinant. Šis įrašas apims keletą skirtingų būdų, kaip apsaugoti VBA kodą, kad tik JŪS galėtumėte lengvai jį pasiekti.
Kodėl turėtumėte rūpintis VBA kodo apsauga?
VBA yra makrokomandų kalba, kurią galima naudoti kuriant automatizuotas užduotis ar veiksmus programose „Excel“, „Word“, „PowerPoint“. Yra keletas priežasčių, kodėl turėtumėte apsaugoti savo VBA kodą:
- Norėdami apsaugoti VBA kodą nuo netyčinio pakeitimo. VBA kodas yra galingas įrankis Excel vartotojams, tačiau jis taip pat gali būti nusivylimo šaltinis tiems, kurie jo nenaudoja. Jei neapsaugosite VBA slaptažodžiu, kiti, naudojantys jūsų darbaknygę, gali pasiekti kodą ir keisti jį nežinodami, ką jie iš tikrųjų daro. Nenorite derinti VBA kodo, nes tai gali būti skausminga – gali prireikti valandų, kol išsiaiškinsite kodėl, o tada dar daugiau laiko!
- Norėdami apsaugoti savo intelektinę nuosavybę. VBA kodas gali būti labai vertingas kai kurioms įmonėms. Jei kas nors kitas pasiekia jūsų skaičiuoklę ir nukopijuoja jūsų naudojamas funkcijas, jis gali perduoti ją kaip savo darbą ir parduoti daugeliui įmonių. Apsaugokite vertingą šaltinio kodą naudodami saugos priemones. Neleiskite niekam lengviau pavogti ar kopijuoti.
- Norėdami apsisaugoti nuo žmonių, besinaudojančių jūsų darbu. Jei turite vertingą VBA kodo dalį, kuri palengvina ar efektyvina jūsų darbą, galbūt norėsite jį apsaugoti tik asmeniniam naudojimui.
Svarbu pažymėti, kad yra keletas skirtingų būdų apsaugoti jūsų VBA kodą, tačiau ne visi jie apsaugo jūsų kodą vienodai. Tai priklauso nuo jūsų ir jūsų nuomone, kas geriausiai atitinka jūsų poreikius.
#1 Slaptažodžiu apsaugotas VBA kodas programoje „Excel“, naudojant VBAProject įrankį
Šioje dalyje paaiškinama, kaip galite naudoti VBA projekto apsaugos nustatymus, kad apsaugotumėte savo VBA kodą nuo smalsių akių ir tam tikru lygiu klastojimo.
- Apsaugos lygis: Silpnas; Yra tokių įrankių kaip VBA slaptažodžio šalinimo priemonė kurį naudojant galima atrakinti slaptažodį per kelias minutes;
- Sunkumas: lengvas;
- Kaina: nemokama;
1 veiksmas. „Excel“ meniu „Kūrėjas“ pasirinkite „Visual Basic“.
2 veiksmas. Norėdami užrakinti savo VBA projektą, juostoje spustelėkite „Įrankiai“ ir pasirinkite „VBAProject Properties“.
Spustelėję šį meniu elementą, turėtumėte pamatyti šį dialogo langą:
Skirtukas „Bendra“ yra pasirinktas pagal numatytuosius nustatymus, bet spustelėkite skirtuką „Apsauga“.
3 veiksmas. Pažymėkite „Užrakinti projektą peržiūrai“, tada du kartus įveskite slaptažodį į abu šiuos laukelius ir paspauskite „Gerai“.
4 veiksmas. Išsaugokite jį ir iš naujo atidarykite „Excel“ failą. Dukart spustelėję VBA projektą galėsite sužinoti, ar VBA slaptažodžio apsauga buvo tinkamai įjungta. Kai apsaugote savo VBA projektą slaptažodžiu, jis neleis niekam netyčia modifikuoti.
#2 Naudokite VBA obfuscation, kad apsaugotumėte savo makrokodą
VBA užmaskavimas yra menas, kad VBA kodas būtų neįskaitomas, bet vis tiek veiktų. Tai modifikuoja esamas makrokomandas su keliais užtemdymo lygiais, todėl sunku suprasti pagrindinę logiką. Pažangūs VBA obfuskatoriai naudoja daugybę pažangių užmaskavimo metodų, todėl atvirkštinis sekimas ir atkūrimas tampa daug sudėtingesni.
- Apsaugos lygis: Vidutinis; Kažkas vis tiek galės skirti laiko ir išleisti pakankamai išteklių kodui atkurti;
- Sunkumas: Vidutinis; Priklausomai nuo lygio;
- Kaina: Nemokamas VBA obfuscator /Premium;
Galite naudoti VBA užmaskavimą kartu su #1 technika, kuri yra pirmiausia užtemdyti ir tada apsaugoti modulį slaptažodžiu. Atminkite, kad užmaskavimas yra negrįžtamas, todėl prieš tęsdami pasidarykite šaltinio failo atsarginę kopiją. Taip pat atminkite, kad negalima garantuoti, kad užmaskuotas kodas bus vykdomas be klaidų. Prieš išleisdami, atidžiai išbandykite. Norėdami užmaskuoti, naudokite vieną projekto dalį. Sėkmingai atlikę pirmąjį modulio užmaskavimo testą, pereikite prie antrojo.
#3 Konvertuoti VBA kodą į dinaminės nuorodos biblioteką (DLL)
Kompiliatoriai, tokie kaip „Visual C++“ ir „Visual Basic“, sukuria programas, kurias sunku nulaužti. Taip yra dėl to, kad kodas yra kompiliuojamas į vykdomuosius failus arba dinaminės nuorodos bibliotekos failus. Taigi VBA kodą taip pat galime sudaryti į dinaminės nuorodos bibliotekos failą ir naudoti jį programoje „Excel“.
- Apsaugos lygis: Aukštas;
- Sunkumas: Vidutinis;
- Kaina: nemokama;
Šis apsaugos būdas yra labai rekomenduojamas, tačiau jis nėra 100% garantuotas. Norėdami sužinoti, kaip kompiliuoti, žr. instrukcijas adresu VbaCompiler.com: 10 veiksmų VBA kodo kompiliavimui į savąjį Windows DLL .
# 4 Konvertuokite VBA į C arba C++
Išversti makrokomandas į C arba C++ sudėtingiau nei VBA. Jei norite apsaugoti savo kodą, tai yra geriausias būdas.
- Apsaugos lygis: Aukščiausias; Beveik neįmanoma gauti kodo be teisių; Bet vėlgi, tai nėra 100% garantuota;
- Sunkumas: sudėtingas ir daug laiko reikalaujantis; Kadangi VBA ir C/C++ yra labai skirtingos kalbos, tai sunkiau, nes teks įdėti daug pastangų.
Išvada
Makrokomandų naudojimas yra puikus būdas supaprastinti išplėstinių funkcijų kūrimą. Deja, dėl to jūsų kodas gali būti pavogtas arba nukopijuotas kitų. Straipsnyje aptariami metodai, kuriuos galite naudoti norėdami neleisti kitiems vartotojams pavogti ar sugadinti jūsų VBA kodo. Atminkite, kad VBA kodo apsauga nėra neperšaunama apsauga, tačiau ji suteikia tam tikrą apsaugą nuo atsitiktinių užpuolikų.