Dokumint

4 manieren om VBA (Visual Basic foar applikaasjes) koade te beskermjen

De VBA-koade dy't jo skriuwe is it hert en de siel fan jo spreadsheet. It beskermjen fan VBA-koade is iets dat dien wurde moat om derfoar te soargjen dat jo koade net stellen of brûkt wurdt sûnder dat jo it witte. Dizze post sil ferskate manieren behannelje om jo VBA-koade te beskermjen, sadat allinich JO der maklik tagong ta hawwe.

Wêrom moatte jo jo soargen meitsje oer it beskermjen fan VBA-koade?

VBA is in makrotaal dy't brûkt wurde kin om automatisearre taken of aksjes te meitsjen yn Excel, Word, PowerPoint. D'r binne ferskate redenen wêrom't jo jo VBA-koade beskermje moatte:

  • Om jo VBA-koade te beskermjen tsjin tafallich feroarjen. VBA-koade is in krêftich ark foar Excel-brûkers, mar it kin ek in boarne fan frustraasje wêze foar dyjingen dy't it net brûke. As jo ​​de VBA net befeiligje mei in wachtwurd, kinne oaren dy't jo wurkboek brûke tagong krije ta de koade en feroarings deryn meitsje sûnder te witten wat se eins dogge. Jo wolle jo VBA-koade net debuggen, om't it pynlik wêze kin - it kin oeren duorje om út te finen wêrom en dan noch mear tiid!
  • Om jo yntellektueel eigendom te beskermjen. VBA-koade kin tige weardefol wêze foar guon bedriuwen. As immen oars tagong krijt ta jo spreadsheet en de funksjonaliteit kopiearret dy't jo brûke, dan kinne se it mooglik as har eigen wurk trochjaan en it oan in protte bedriuwen ferkeapje. Beskermje jo weardefolle boarnekoade mei feiligensmaatregels. Meitsje it net maklik foar elkenien om te stellen of te kopiearjen.
  • Om josels te beskermjen tsjin minsken dy't jo wurk brûke. As jo ​​in weardefol stik VBA-koade hawwe dat jo wurk makliker of effisjinter makket, dan wolle jo it miskien allinich beskermje foar persoanlik gebrûk.

It is wichtich om te notearjen dat der ferskate manieren binne om jo VBA-koade te beskermjen, mar net allegear beskermje se jo koade op deselde manier. It is oan jo en wat jo tinke dat it bêste is foar jo behoeften.

#1 Wachtwurd beskermje VBA-koade binnen Excel mei VBAProject Tool

Dit diel leit út hoe't jo VBA-projektbeskermingsynstellingen brûke kinne om jo VBA-koade te beskermjen tsjin nijsgjirrige eagen en manipulearjende hannen op in bepaald nivo.

  • Feiligensnivo: Swak; Der binne ark lykas VBA Wachtwurdferwiderer dat brûkt wurde kin om it wachtwurd yn minuten te ûntsluten;
  • Moeilijkheidsgraad: Maklik;
  • Kosten: Fergees;

Stap 1. Selektearje "Visual Basic" yn it menu "Untwikkelder" yn Excel.

Iepenje it Visual Basic-paniel fanút it ljepblêd Excel Untwikkelder

Stap 2. Om jo VBA-projekt te beskoatteljen, klikje jo op "Tools" yn 'e balke en selektearje dan "VBAProject Properties".

Selektearje VBAProject-eigenskippen om wachtwurd yn te stellen

Nei it klikken op dit menu-item moatte jo it folgjende dialoochfinster sjen:

De haadynterface fan VBAProject-eigenskippen

It ljepblêd "Algemien" is standert selektearre, mar klikje op it ljepblêd "Beskerming".

Stap 3. Kontrolearje "Projekt beskoattelje foar besjen" en typ dan jo wachtwurd twa kear yn beide fakjes yn en klik op "OK".

VBA-projekt beskoattelje foar besjen en wachtwurd ynstelle om VBA-koade te beskermjen

Stap 4. Bewarje it en iepenje it Excel-bestân opnij. Jo kinne sjen oft VBA-wachtwurdbeskerming goed ynskeakele is troch dûbel te klikken op jo VBA-projekt. As jo ​​jo VBA-projekt beskermje mei in wachtwurd, sil it foarkomme dat immen it per ongelok oanpast.

Wachtwurd nedich foar it besjen fan VBA-koade

#2 Brûk VBA-fertsjustering om jo makrokoade te beskermjen

VBA-obfuskaasje is de keunst om jo VBA-koade ûnlêsber, mar dochs funksjoneel te meitsjen. It feroaret jo besteande makro's mei meardere nivo's fan obfuskaasje, wat it lestich makket om de ûnderlizzende logika te begripen. Avansearre VBA-obfuskators brûke in oantal avansearre obfuskaasjetechniken, wêrtroch reverse tracing en herstel folle dreger binne.

  • Feiligensnivo: Middel; Iemand sil noch altyd de tiid nimme kinne en genôch middels besteegje om de koade te herstellen;
  • Moeilijkheidsgraad: Matich; Ofhinklik fan it nivo;
  • Kosten: Fergese VBA Obfuscator /Preemje;

Jo kinne VBA-obfuskaasje brûke yn kombinaasje mei de #1-technyk, dy't is om de module earst te ferbergjen en dan te befeiligjen mei in wachtwurd. Tink derom dat de ferberging net omkeard wurde kin, dus meitsje in reservekopy fan it boarnebestân foardat jo trochgean. Tink derom dat de ferburgen koade net garandearre wurdt sûnder flaters út te fieren. Test it goed foardat jo it frijjaan. Brûk ien ûnderdiel fan it projekt om te ferbergjen. Nei't de earste module-ferbergingstest slagge is, gean dan troch nei de twadde.

#3 Konvertearje VBA-koade nei Dynamic-Link Library (DLL)

Kompilers lykas Visual C++ en Visual Basic produsearje applikaasjes dy't lestich te kraken binne. Dit komt troch it feit dat de koade kompilearre wurdt yn útfierbere bestannen of dynamyske keppelingbibleteekbestannen. Sa kinne wy ​​de VBA-koade ek kompilearje yn in dynamysk keppelingbibleteekbestân en it dan brûke yn Excel.

  • Feiligensnivo: Heech;
  • Moeilijkheidsgraad: Matich;
  • Kosten: Fergees;

Dizze beskermingsmetoade wurdt tige oanrikkemandearre, mar it is net 100% garandearre. Om te learen hoe't jo kompilearje kinne, sjoch de ynstruksjes op VbaCompiler.com: 10 stappen om VBA-koade te kompilearjen yn native Windows DLL .

Excel-bestân VBA-koadekompilaasje mei súkses dien mei VbaCompiler foar Excel

#4 Konvertearje VBA nei C of C++

It oersetten fan jo makro's nei C of C++ is dreger te reverse engineeren as VBA. As jo ​​jo koade beskermje wolle, is dit de bêste manier.

  • Feiligensnivo: Heechst; It is hast ûnmooglik om de koade te krijen sûnder de rjochten; Mar nochris, it is net 100% garandearre;
  • Moeilijkheidsgraad: Yngewikkeld en tiidslinend; Omdat VBA en C/C++ sa ferskillende talen binne, is it dreger, om't jo der in soad muoite yn stekke moatte.

Konklúzje

It brûken fan makro's is in geweldige manier om de ûntwikkeling fan avansearre funksjes te streamlynjen. Spitigernôch bringt dit jo koade yn gefaar om stellen of kopiearre te wurden troch oaren. It artikel besprekt metoaden dy't jo brûke kinne om te foarkommen dat oare brûkers jo VBA-koade stelle of manipulearje. Tink derom dat de VBA-koadebeskermingen gjin kûgelfrij befeiliging binne, mar it biedt wol wat beskerming tsjin tafallige oanfallers.

Foto fan Susanna

Susanna

Susanna is de ynhâldbehearder en skriuwster fan Filelem. Se is al jierren in betûfte redakteur en ûntwerper fan boeklayouts, en is ynteressearre yn it útprobearjen en testen fan ferskate produktiviteitssoftware. Se is ek in grutte fan fan Kindle, dy't Kindle Touch al hast 7 jier brûkt en Kindle hast oeral meinimt. Net lang lyn wie it apparaat oan 'e ein fan syn libben, dus Susanna kocht mei wille in Kindle Oasis.

Relatearre artikels

Knop Werom nei boppe