Asiakirja

4 tapaa suojata VBA (Visual Basic for Applications) -koodi

Kirjoittamasi VBA-koodi on laskentataulukkosi sydän ja sielu. VBA-koodin suojaaminen on tehtävä sen varmistamiseksi, että koodiasi ei varasteta tai käytetä tietämättäsi. Tämä viesti kattaa joitain erilaisia ​​​​tapoja suojata VBA-koodiasi, jotta vain SINÄ pääset siihen helposti.

Miksi sinun pitäisi välittää VBA-koodin suojaamisesta?

VBA on makrokieli, jota voidaan käyttää automatisoitujen tehtävien tai toimien luomiseen Excelissä, Wordissa, PowerPointissa. On useita syitä, miksi sinun pitäisi suojata VBA-koodisi:

  • Suojaaksesi VBA-koodisi vahingossa tapahtuvalta muutoksilta. VBA-koodi on tehokas työkalu Excelin käyttäjille, mutta se voi myös olla turhautumisen lähde niille, jotka eivät käytä sitä. Jos et suojaa VBA:ta salasanalla, muut työkirjasi käyttäjät voivat käyttää koodia ja tehdä siihen muutoksia tietämättä, mitä he todellisuudessa tekevät. Et halua korjata VBA-koodiasi, koska se voi olla tuskallista – syyn selvittäminen voi kestää tunteja ja sitten vielä enemmän aikaa!
  • Immateriaaliomaisuutesi suojaamiseksi. VBA-koodi voi olla erittäin arvokasta joillekin yrityksille. Jos joku muu käyttää laskentataulukkoasi ja kopioi käyttämäsi toiminnot, hän saattaa luovuttaa sen omaksi työkseen ja myydä sen monille yrityksille. Suojaa arvokas lähdekoodisi turvatoimilla. Älä tee kenenkään helppoa varastamista tai kopioimista.
  • Suojautuaksesi ihmisiltä, ​​jotka käyttävät työtäsi. Jos sinulla on arvokas VBA-koodi, joka tekee työstäsi helpompaa tai tehokkaampaa, sinun kannattaa suojata se vain henkilökohtaiseen käyttöön.

On tärkeää huomata, että VBA-koodin suojaamiseen on useita eri tapoja, mutta kaikki eivät suojaa koodiasi samalla tavalla. Se riippuu sinusta ja siitä, mikä on mielestäsi paras tarpeisiisi.

#1 Salasanasuojattu VBA-koodi Excelissä VBAProject Toolin avulla

Tämä osa selittää, kuinka voit käyttää VBA-projektin suojausasetuksia suojataksesi VBA-koodiasi uteliailta katseilta ja käsien peukaloitumiselta jollakin tasolla.

  • Turvataso: Heikko; Työkaluja on mm VBA Password Remover jolla voidaan avata salasana muutamassa minuutissa;
  • Vaikeusaste: Helppo;
  • Hinta: Ilmainen;

Vaihe 1. Valitse "Visual Basic" Excelin "Kehittäjä"-valikosta.

Avaa Visual Basic -paneeli Excelin kehittäjävälilehdeltä

Vaihe 2. Voit lukita VBA-projektisi napsauttamalla "Tools" palkissa ja valitsemalla sitten "VBAProject Properties".

Valitse VBAProject Properties asettaaksesi salasana

Kun olet napsauttanut tätä valikkokohtaa, sinun pitäisi nähdä seuraava valintaikkuna:

VBAProject Propertiesin pääliittymä

"Yleiset"-välilehti on valittu oletuksena, mutta napsauta "Suojaus"-välilehteä.

Vaihe 3. Valitse "Lukitse projekti katselua varten" ja kirjoita sitten salasanasi kahdesti molempiin ruutuihin ja paina "OK".

Lukitse VBA-projekti katselua varten ja aseta salasana suojataksesi VBA-koodia

Vaihe 4. Tallenna se ja avaa Excel-tiedosto uudelleen. Voit selvittää, onko VBA-salasanasuojaus otettu oikein käyttöön kaksoisnapsauttamalla VBA-projektiasi. Kun suojaat VBA-projektisi salasanalla, se estää ketään tekemästä vahingossa muutoksia.

Salasana tarvitaan VBA-koodin katseluun

#2 Suojaa makrokoodisi VBA-obfuscationilla

VBA-hämärtäminen on taidetta tehdä VBA-koodistasi lukukelvoton, mutta silti toimiva. Se muokkaa olemassa olevia makrojasi useilla hämärtymistasoilla, mikä vaikeuttaa taustalla olevan logiikan ymmärtämistä. Kehittyneet VBA-obfuskaattorit käyttävät useita kehittyneitä hämärätekniikoita, mikä tekee käänteisjäljityksestä ja palautuksesta huomattavasti haastavampaa.

  • Turvataso: Keskitaso; Joku voi silti käyttää aikaa ja käyttää tarpeeksi resursseja koodin palauttamiseen.
  • Vaikeustaso: kohtalainen; Tasosta riippuen;
  • Maksaa: Ilmainen VBA Obfuscator / Premium;

Voit käyttää VBA-obfuskaatiota yhdessä #1-tekniikan kanssa, joka on ensin peittää ja sitten suojata moduuli salasanalla. Muista, että hämärtäminen on peruuttamaton, joten tee varmuuskopio lähdetiedostosta ennen kuin jatkat. Muista myös, että ei voida taata, että häivytettyä koodia suoritetaan ilman virheitä. Testaa se huolellisesti ennen kuin vapautat sen. Käytä yhtä projektin osaa hämärtämiseen. Kun ensimmäinen moduulin hämärtymistesti on onnistunut, siirry toiseen.

#3 Muunna VBA-koodi Dynamic-Link-kirjastoksi (DLL)

Kääntäjät, kuten Visual C++ ja Visual Basic, tuottavat sovelluksia, joita on vaikea murtaa. Tämä johtuu siitä, että koodi on käännetty suoritettaviksi tiedostoiksi tai dynaamisiin linkkikirjastotiedostoihin. Voimme siis myös koota VBA-koodin dynaamiseksi linkkikirjastotiedostoksi ja käyttää sitä sitten Excelissä.

  • Turvataso: Korkea;
  • Vaikeustaso: kohtalainen;
  • Hinta: Ilmainen;

Tämä suojausmenetelmä on erittäin suositeltava, mutta se ei ole 100 % taattu. Katso ohjeita kääntämiseen osoitteessa VbaCompiler.com: 10 vaihetta VBA-koodin kääntämiseksi alkuperäiseen Windows DLL:ään .

Excel-tiedoston VBA-koodin käännös onnistui VbaCompiler for Excelillä

#4 Muunna VBA C- tai C++-muotoon

Makrojen kääntäminen C- tai C++-kieleksi on vaikeampaa palauttaa kuin VBA. Jos haluat suojata koodisi, tämä on paras tapa.

  • Turvataso: Korkein; Koodia on lähes mahdotonta saada ilman oikeuksia; Mutta jälleen kerran, se ei ole 100% taattu;
  • Vaikeusaste: Monimutkainen ja aikaa vievä; Koska VBA ja C/C++ ovat niin erilaisia ​​kieliä, se on vaikeampaa, koska joudut investoimaan paljon vaivaa.

Johtopäätös

Makrojen käyttö on loistava tapa virtaviivaistaa edistyneiden toimintojen kehitystä. Valitettavasti tämä vaarantaa koodisi, että muut varastavat tai kopioivat sen. Artikkelissa käsitellään menetelmiä, joiden avulla voit estää muita käyttäjiä varastamasta tai muuttamasta VBA-koodiasi. Huomaa, että VBA-koodisuojaukset eivät ole luodinkestäviä, mutta ne tarjoavat jonkin verran suojaa satunnaisia ​​hyökkääjiä vastaan.

Kuva Susannasta

Susanna

Susanna on Filelemin sisällönvastaava ja kirjoittaja. Hän on ollut kokenut toimittaja ja kirjan taittosuunnittelija useiden vuosien ajan, ja hän on kiinnostunut kokeilemaan ja testaamaan erilaisia ​​tuottavuusohjelmistoja. Hän on myös suuri Kindlen fani, joka on käyttänyt Kindle Touchia lähes 7 vuotta ja kantanut Kindleä melkein minne tahansa. Ei kauan sitten laite oli käyttöikänsä lopussa, joten Susanna osti onnellisena Kindle Oasisin.

Aiheeseen liittyvät artikkelit

Takaisin alkuun -painike