VBA安全性:我的vbe密码设置良好,但仍然可以被简单的代码攻击

问题描述 投票:-1回答:2

我有一个xlsm工作簿和2张,我将其称为工作簿1,工作表1可见,工作表2设置为xlsheetveryhidden。然后设置密码。

现在情况应该是没有人可以手动取消隐藏表2,对吧?

现在我打开另一个工作簿,我将其称为工作簿2,在工作簿2中打开vbe,只需键入以下代码并针对工作簿1,工作表2是可见的:

Sub InvisibleSheet2Fails()
Sheets(2).Visible = xlSheetVisible
End Sub
 

我的问题是:如何才能取消工作簿1的密码?工作簿2不知道工作簿1 vbe密码,但可以轻松绕过xlsheetveryhidden设置。

非常感谢你!

劳伦斯

excel vba excel-vba vbe
2个回答
2
投票

没有安全保障100%安全。如果您的威胁模型是高级用户,知道如何启动VBE并且您不希望它们摆弄,您至少可以使用密码保护工作簿结构。

ThisWorkbook.Protect "password", Structure:=true

从即时窗格执行此操作,不要将密码放在代码中的任何位置 - 另一方面VBE密码保护(您似乎将VBA项目保护和工作簿结构保护混为一谈),绝对是easily defeated,在任何时候;如果您已在代码中的任何位置写入密码,请考虑将其泄露。

使用一个好的,强大的密码,如果你使用的是最新版本的Excel,并且有人设法取消保护工作簿,他们应该调整它。

如果您的威胁模型是MI6代理,如果他们首先访问该文件,您已经丢失:将文件放在安全的地方,实现良好的网络安全性。


0
投票

老实说,我没有找到一个无法入侵的办公室文件。

除了可以购买的工具之外,你也可以免费找到它们。

如果您真的非常认真地保护这些文件,您可以尝试加密它们并仅允许那些拥有本地证书的人访问它们。

Information Rights Management in Office

“如果您在尝试查看文档或电子邮件时遇到文件权限错误,那么您遇到了信息权限管理(IRM)。您可以使用IRM来限制Office文档,工作簿和演示文稿中内容的权限。 “

© www.soinside.com 2019 - 2024. All rights reserved.