2017-06-02 36 views
0

我有一个Excel加载项,我正在构建它将用户设置存储在加载项中的Settings工作表中。我实际上使用Settings表作为存储布尔值,并且可能是用户的注册详细信息。但是,如果我打开一个新的VBA项目并将外接程序作为参考(在VBA中:Tools > References > MY Add-In),那么我可以访问Settings工作表,并有可能破坏其上的密码并破解注册详细信息。在其他VBA项目的Excel加载项中隐藏工作表

Settings工作表设置为xlVeryHidden,但可通过VBA代码访问。无论如何,要防止这在Excel中?在一个模块中,例如我可以使用Option Private Module方法。

回答

0

如果您密码保护并锁定项目,则无法查看您的代码和工作表对象。转到工具> VBAObject属性>保护选项卡,然后勾选“锁定项目查看”,然后在“密码查看对象属性”中设置密码。

然而,没有什么可以阻止黑客...

For s = 1 to Sheets.Count 
    Sheets(s).visible = True 
Next s 

...看到你的设置表。

有几个选项:

1)具有与设置片在一个单独的工作簿时,或一些其他格式等.txt和从读取(推荐)。

2)在设置表中使用某种加密方式并在代码中对其进行解密,一个非常简单的例子是使用数字代替文本,所以'example'would ='5,24,1,13,16 ,12,5',但显然你想雇用一些更复杂的东西,你可以在网上搜索许多方法来做到这一点。

3)使用2,但在其他地方存储解密代码。

请注意,虽然对于知道自己在做什么的人来说,除非使用选项1/3并且有办法将文件存储在某个不可公开访问的地方,否则无法prevent a VBA hack

相关问题