VBA (Uygulamalar için Visual Basic) Kodunu Korumanın 4 Yolu
Yazdığınız VBA kodu, elektronik tablonuzun kalbi ve ruhudur. VBA kodunu korumak, kodunuzun çalınmasını veya sizin haberiniz olmadan kullanılmasını önlemek için yapılması gereken bir şeydir. Bu gönderi, VBA kodunuzu yalnızca SİZİN kolayca erişebilmeniz için korumanın bazı farklı yollarını ele alacaktır.
VBA Kodunu Korumayı Neden Önemsemelisiniz?
VBA, Excel, Word, PowerPoint'te otomatik görevler veya eylemler oluşturmak için kullanılabilen bir makro dilidir. VBA kodunuzu korumanız için birkaç neden vardır:
- VBA kodunuzun yanlışlıkla değiştirilmesini önlemek için. VBA kodu Excel kullanıcıları için güçlü bir araçtır, ancak onu kullanmayanlar için de bir hayal kırıklığı kaynağı olabilir. VBA'yı bir parola ile güvence altına almazsanız, çalışma kitabınızı kullanan diğer kişiler koda erişebilir ve gerçekte ne yaptıklarını bilmeden kodda değişiklikler yapabilir. VBA kodunuzu hata ayıklamak istemezsiniz çünkü bu can sıkıcı olabilir; nedenini anlamak saatler alabilir ve daha da fazla zaman alabilir!
- Fikri mülkiyetinizi korumak için. VBA kodu bazı şirketler için çok değerli olabilir. Başka biri elektronik tablonuza erişir ve kullandığınız işlevselliği kopyalarsa, o zaman bunu kendi eseri olarak gösterip birçok şirkete satabilir. Değerli kaynak kodunuzu güvenlik önlemleriyle koruyun. Kimsenin çalmasını veya kopyalamasını kolaylaştırmayın.
- Çalışmanızı kullanan kişilerden kendinizi korumak için. Çalışmanızı daha kolay veya daha verimli hale getiren değerli bir VBA kodunuz varsa, onu yalnızca kişisel kullanım için korumak isteyebilirsiniz.
VBA kodunuzu korumak için birkaç farklı yol olduğunu, ancak hepsinin kodunuzu aynı şekilde korumadığını belirtmek önemlidir. Bu size ve ihtiyaçlarınız için en iyi olduğunu düşündüğünüz şeye bağlıdır.
#1 VBAProject Aracını Kullanarak Excel İçindeki VBA Kodunu Parolayla Koruyun
Bu bölüm, VBA proje koruma ayarlarını kullanarak VBA kodunuzu meraklı gözlerden ve bir dereceye kadar kurcalayan ellerden nasıl koruyabileceğinizi açıklıyor.
- Güvenlik seviyesi: Zayıf; Şu tür araçlar var: VBA Şifre Sökücü Dakikalar içinde şifreyi çözmek için kullanılabilen;
- Zorluk: Kolay;
- Maliyet: Ücretsiz;
Adım 1. Excel’deki “Geliştirici” menüsünden “Visual Basic”i seçin.
Adım 2. VBA projenizi kilitlemek için çubuktaki “Araçlar”a tıklayın ve ardından “VBAProject Özellikleri”ni seçin.
Bu menü öğesine tıkladıktan sonra aşağıdaki iletişim kutusunu görmelisiniz:
Varsayılan olarak “Genel” sekmesi seçilidir, ancak “Koruma” sekmesine tıklayın.
Adım 3. “Projeyi görüntüleme için kilitle” seçeneğini işaretleyin ve ardından her iki kutuya da şifrenizi iki kez girip “Tamam”a tıklayın.
Adım 4. Kaydedin ve Excel dosyasını yeniden açın. VBA parola korumasının düzgün bir şekilde etkinleştirilip etkinleştirilmediğini VBA projenize çift tıklayarak anlayabilirsiniz. VBA projenizi bir parola ile koruduğunuzda, herhangi birinin yanlışlıkla değişiklik yapması önlenir.
#2 Makro Kodunuzu Korumak İçin VBA Karartmasını Kullanın
VBA karartma, VBA kodunuzu okunamaz hale getirme ama yine de işlevsel kılma sanatıdır. Mevcut makrolarınızı, altta yatan mantığı anlamayı zorlaştıran birden fazla karartma seviyesiyle değiştirir. Gelişmiş VBA karartıcıları, bir dizi gelişmiş karartma tekniği kullanır ve ters izleme ve kurtarmayı önemli ölçüde daha zor hale getirir.
- Güvenlik düzeyi: Orta; Birisi yine de zaman ayırıp kodu kurtarmak için yeterli kaynak harcayabilir;
- Zorluk: Orta; Seviyeye bağlı;
- Maliyet: Ücretsiz VBA Obfuscator /Prim;
VBA karartmayı, modülü önce karartıp sonra bir parola ile güvence altına almak olan #1 tekniğiyle birlikte kullanabilirsiniz. Karartmanın geri döndürülemez olduğunu lütfen unutmayın, bu nedenle devam etmeden önce kaynak dosyanın bir yedeğini alın. Ayrıca karartılan kodun hatasız yürütüleceğinin garanti edilemeyeceğini de unutmayın. Lütfen yayınlamadan önce iyice test edin. Karartmak için projenin tek bir bölümünü kullanın. İlk modül karartma testi başarılı olduktan sonra ikinciye geçin.
#3 VBA Kodunu Dinamik Bağlantı Kütüphanesine (DLL) Dönüştürün
Visual C++ ve Visual Basic gibi derleyiciler, kırılması zor uygulamalar üretir. Bunun nedeni, kodun yürütülebilir dosyalara veya dinamik bağlantı kitaplığı dosyalarına derlenmesidir. Bu nedenle, VBA kodunu bir dinamik bağlantı kitaplığı dosyasına derleyebilir ve ardından Excel'de kullanabiliriz.
- Güvenlik seviyesi: Yüksek;
- Zorluk: Orta;
- Maliyet: Ücretsiz;
Bu koruma yöntemi şiddetle tavsiye edilir, ancak %100 garantili değildir. Derlemeyi öğrenmek için VbaCompiler.com'daki talimatlara bakın: VBA kodunu yerel Windows DLL'sine derlemek için 10 adım .
#4 VBA'yı C veya C++'a dönüştürün
Makrolarınızı C veya C++'a çevirmek, VBA'dan daha zor tersine mühendislik gerektirir. Kodunuzu korumak istiyorsanız, bu en iyi yoldur.
- Güvenlik seviyesi: En yüksek; Haklar olmadan koda ulaşmak neredeyse imkansızdır; Ama yine de %100 garantili değildir;
- Zorluk: Karmaşık ve zaman alıcıdır; VBA ve C/C++ çok farklı diller olduğundan, çok fazla çaba harcamanız gerekeceğinden daha zordur.
Çözüm
Makroları kullanmak, gelişmiş işlevlerin geliştirilmesini kolaylaştırmanın harika bir yoludur. Ne yazık ki bu, kodunuzun çalınması veya başkaları tarafından kopyalanması riskine sokar. Makale, diğer kullanıcıların VBA kodunuzu çalmasını veya kurcalamasını önlemek için kullanabileceğiniz yöntemleri ele almaktadır. Lütfen VBA kod korumalarının kurşun geçirmez güvenlik olmadığını, ancak sıradan saldırganlara karşı bir miktar koruma sağladığını unutmayın.