4 راه برای محافظت از کد VBA (ویژوال بیسیک برای برنامه ها).
کد VBA که می نویسید قلب و روح صفحه گسترده شماست. محافظت از کد VBA کاری است که باید انجام شود تا مطمئن شوید که کد شما بدون اطلاع شما به سرقت نمی رود یا استفاده نمی شود. این پست راههای مختلف محافظت از کد VBA را پوشش میدهد تا فقط شما بتوانید به راحتی به آن دسترسی داشته باشید.
چرا باید به محافظت از کد VBA اهمیت دهید؟
VBA یک زبان ماکرو است که می تواند برای ایجاد وظایف یا اقدامات خودکار در Excel، Word، PowerPoint استفاده شود. چندین دلیل وجود دارد که باید از کد VBA خود محافظت کنید:
- برای محافظت از کد VBA از تغییر تصادفی. کد VBA یک ابزار قدرتمند برای کاربران اکسل است، اما همچنین می تواند منبع ناامیدی برای کسانی باشد که از آن استفاده نمی کنند. اگر VBA را با رمز عبور ایمن نکنید، دیگرانی که از Workbook شما استفاده میکنند میتوانند بدون اینکه بدانند واقعاً چه میکنند به کد دسترسی پیدا کرده و تغییراتی در آن ایجاد کنند. شما نمی خواهید کد VBA خود را اشکال زدایی کنید زیرا ممکن است دردناک باشد—ممکن است ساعت ها طول بکشد تا بفهمید چرا و سپس زمان بیشتری را نیز صرف کنید!
- برای محافظت از مالکیت معنوی شما کد VBA می تواند برای برخی شرکت ها بسیار ارزشمند باشد. اگر شخص دیگری به صفحهگسترده شما دسترسی پیدا کند و از عملکردی که استفاده میکنید کپی کند، میتواند آن را بهعنوان کار خود به اشتراک بگذارد و به شرکتهای زیادی بفروشد. با اقدامات امنیتی از کد منبع ارزشمند خود محافظت کنید. دزدی یا کپی کردن را برای کسی آسان نکنید.
- برای محافظت از خود در برابر افرادی که از کار شما استفاده می کنند. اگر یک کد ارزشمند VBA دارید که کار شما را آسانتر یا کارآمدتر میکند، ممکن است بخواهید فقط برای استفاده شخصی از آن محافظت کنید.
مهم است که توجه داشته باشید که چندین روش مختلف برای محافظت از کد VBA وجود دارد، اما همه آنها به یک شکل از کد شما محافظت نمی کنند. این به شما بستگی دارد و اینکه چه چیزی برای نیازهای شما بهترین است.
شماره 1 با استفاده از ابزار VBAProject از کد VBA در اکسل محافظت کنید
این بخش توضیح میدهد که چگونه میتوانید از تنظیمات حفاظت از پروژه VBA برای محافظت از کد VBA خود در برابر چشمهای کنجکاو و دستهای دستکاری تا حدی استفاده کنید.
- سطح امنیتی: ضعیف؛ ابزارهایی مانند حذف رمز عبور VBA که می تواند برای باز کردن رمز عبور در چند دقیقه استفاده شود.
- سختی: آسان.
- هزینه: رایگان؛
مرحله 1. "Visual Basic" را از منوی "Developer" در اکسل انتخاب کنید.
مرحله 2. برای قفل کردن پروژه VBA خود، روی "Tools" در نوار کلیک کنید و سپس "VBAProject Properties" را انتخاب کنید.
پس از کلیک بر روی این آیتم منو، باید کادر گفتگوی زیر را مشاهده کنید:
تب "عمومی" به طور پیش فرض انتخاب شده است، اما روی تب "حفاظت" کلیک کنید.
مرحله 3. "قفل کردن پروژه برای مشاهده" را علامت بزنید و سپس رمز عبور خود را دو بار در هر دو کادر وارد کنید و "OK" را بزنید.
مرحله 4. آن را ذخیره کنید و فایل اکسل را دوباره باز کنید. با دوبار کلیک کردن روی پروژه VBA خود، میتوانید تشخیص دهید که محافظت از رمز عبور VBA به درستی فعال شده است یا خیر. وقتی پروژه VBA خود را با رمز عبور محافظت می کنید، از تغییر تصادفی هر کسی جلوگیری می کند.
شماره 2 از مبهم VBA برای محافظت از کد ماکرو خود استفاده کنید
مبهم سازی VBA، هنر ساختن کد VBA غیرقابل خواندن اما همچنان کاربردی است. این ماکروهای موجود شما را با سطوح مختلف مبهم تغییر می دهد که درک منطق زیربنایی را دشوار می کند. مبهمکنندههای پیشرفته VBA از تعدادی تکنیکهای مبهمسازی پیشرفته استفاده میکنند که ردیابی معکوس و بازیابی را بهطور قابلتوجهی چالشبرانگیزتر میکند.
- سطح امنیتی: متوسط هنوز هم کسی می تواند وقت بگذارد و منابع کافی را برای بازیابی کد صرف کند.
- سختی: متوسط؛ بسته به سطح؛
- هزینه: VBA Obfuscator رایگان /Premium;
میتوانید از مبهمسازی VBA در کنار تکنیک شماره 1 استفاده کنید، یعنی ابتدا ماژول را مبهم کنید و سپس ماژول را با رمز عبور ایمن کنید. لطفاً به خاطر داشته باشید که ابهام برگشت ناپذیر است، بنابراین قبل از ادامه از فایل منبع یک نسخه پشتیبان تهیه کنید. همچنین به یاد داشته باشید که اجرای کد مبهم را نمی توان بدون نقص تضمین کرد. لطفا قبل از انتشار آن را به طور کامل تست کنید. از یک قسمت پروژه برای مبهم کردن استفاده کنید. پس از موفقیت آمیز بودن تست مبهم سازی ماژول اول، به سراغ دومی بروید.
شماره 3 تبدیل کد VBA به کتابخانه Dynamic-Link (DLL)
کامپایلرهایی مانند Visual C++ و Visual Basic برنامههایی را تولید میکنند که به سختی کرک میشوند. این به دلیل این واقعیت است که کد در فایل های اجرایی یا فایل های کتابخانه پیوند پویا کامپایل می شود. بنابراین میتوانیم کد VBA را در یک فایل کتابخانه پیوند پویا کامپایل کنیم و سپس از آن در اکسل استفاده کنیم.
- سطح امنیت: بالا؛
- سختی: متوسط؛
- هزینه: رایگان؛
این روش محافظت بسیار توصیه می شود، اما 100٪ تضمین شده نیست. برای یادگیری نحوه کامپایل، به دستورالعمل های VbaCompiler.com مراجعه کنید: 10 مرحله برای کامپایل کد VBA در DLL بومی ویندوز .
شماره 4 VBA را به C یا C++ تبدیل کنید
مهندسی معکوس ترجمه ماکروهای خود به C یا C++ از VBA دشوارتر است. اگر می خواهید از کد خود محافظت کنید، این بهترین راه است.
- سطح امنیت: بالاترین; دریافت کد بدون حقوق تقریباً غیرممکن است. اما باز هم، 100٪ تضمین شده نیست.
- سختی: پیچیده و وقت گیر. از آنجایی که VBA و C/C++ زبانهای متفاوتی هستند، سختتر است زیرا باید تلاش زیادی انجام دهید.
نتیجه گیری
استفاده از ماکروها یک راه عالی برای ساده کردن توسعه توابع پیشرفته است. متأسفانه، این کار کد شما را در معرض خطر سرقت یا کپی شدن توسط دیگران قرار می دهد. این مقاله روشهایی را مورد بحث قرار میدهد که میتوانید از آنها برای جلوگیری از سرقت یا دستکاری کد VBA توسط سایر کاربران استفاده کنید. لطفاً توجه داشته باشید که حفاظت های کد VBA امنیتی ضد گلوله نیستند، اما محافظت در برابر مهاجمان معمولی را فراهم می کنند.