【VBA技巧】- 如何儘可能的保護VBA代碼?
可能很多學習VBA的小夥伴都在苦惱,自己辛辛苦苦寫的VBA代碼就被別人拿去使用,有些還拿去商業用途。其實任何一門編程語言,代碼的安全都是相對的,有編譯就會有反編譯。只能保證代碼的相對安全,可以讓大多數拿來主義的小白望而卻步。
針對Excel文檔的保護可以從單元格、工作表和工作簿等層面加以保護,那針對VBA代碼可以從哪些方面加以保護呢?主要有以下3個方法加以保護。
一 VBAProject工程保護
該功能是有Excel官方提供,用於對VBA代碼加以密碼保護,具體設置方法如下動態圖所示:
此方法的優點就是,設置起來方便,但缺點也很明顯,此密碼很容易被破解或免密查看。後期我會出視頻加以介紹,敬請期待~
二 VBA工程不可查看
接觸VBA比較久的小夥伴一般都會碰到在點擊VBA工程的時候,彈出對話框,提示VBA工程不可查看。如下圖所示:
那究竟如何設置並達到工程不可查看呢?方法很容易,有兩種方法:
方法一(共用級鎖定):
1、先對excel檔進行一般的vbaproject」工程密碼保護"。
2、打開要保護的檔,選擇∶工具--->保護--->保護並共用活頁簿--->以追蹤修訂方式共用-->輸入密碼-->保存檔。
完成後,當你打開「vbaproject」工程屬性時,就將會提示∶「工程不可看"。
方法二(推薦,破壞型鎖定)∶
1、使用7z或Winrar等解壓軟體,右鍵打開*.xlsm文件;
2、打開xl文件夾,把文件vbaProject.bin拖放到桌面;
3、使用UltraEdit軟體打開vbaProject.bin文件,並使用Ctrl+F打開查找對話框,輸入id=,定位到需要修改的位置(動態演示如下);
4、只要將id後大括弧中的位元組隨便修改一下即可。保存vbaProject.bin文件;
5、把修改好的vbaProject.bin文件拖入打開的7z對話框xl文件夾中,再次打開Excel文件的宏編輯器界面,即可發現VBA工程已經不可查看了(動態演示如下)。
當然通過上面破壞型鎖定也不是萬無一失的,因為也是可以通過修改加以破解的。如果覺得上面的方法比較繁瑣,完全可以通過別人寫好的VBA程序加以完成。
眼尖的小夥伴可能也看到了,上面的工具也是自帶解鎖功能的,不要幹壞事哦~
三 Unviewable+ VBA
目前研究下來,通過軟體Unviewable+ VBA加密的VBA效果最好,軟體主界面截圖如下:
國內使用該軟體加密的還不多,但國外很多使用該軟體對其的VBA代碼進行加密,加密操作方法如下:
雖然加密後的工作簿3.xlsm打開VBE宏編輯器後,也是提示VBA工程不可查看,但此時的工程不可查看是無法通過方法二中的超酷VBA解鎖器加以解鎖的,因為加密演算法發生了很大的變化,不是簡簡單單修改id得到的。
四 我的總結
今天主要為大家介紹3個VBA加密的方法,其中前兩個方法被廣泛使用,但加密的效果也是很差的,但對於VBA小白來說足夠,對於VBA大神來說,也不在乎我們寫的代碼。
當然也可以使用第三種方法進行強加密,和第二種方法混淆,因為效果展現都是VBA工程不可查看。
大家如果對Excel VBA的保護有更好的方法,歡迎騷擾^_^
本文素材可以在公眾號回復「20170512」得到哦~後期文章附帶的素材,大家都可以通過在公眾號回復該文檔發送的日期得到,歡迎下載學習^_^Written by Steven in 20170512^_^
微信公眾號:SaveUTime
SUT學習交流群:615356012,入群審核人:Steven
關注公眾號,提高效率,節約您的時間!
推薦閱讀:
※WinRAR 的加密效果怎麼樣,其中加密文件名是什麼意思?
※ajax post請求如何加密?
※三分鐘學習 MD5
※關於密碼中的RSA演算法和ecc(橢圓曲線)演算法加密過程是怎樣的?