VBA 安全性:我的 vbe 密码设置得很好,但仍然可以通过简单的代码破解

VBA Security : my vbe password is well-set, but still can be hacked by a simple code

我有一个 xlsm 工作簿,有 2 个 sheets,我称它为工作簿 1,sheet 1 可见,sheet 2 设置为 xlsheet非常隐藏。然后设置vbe密码。

现在的情况应该是没有人可以手动取消隐藏sheet2了吧?

现在我打开另一个工作簿,我称之为工作簿2,在工作簿2处打开vbe,只需键入以下代码并瞄准工作簿1,sheet 2可见:

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

我的问题是:如何取消隐藏我的 sheet 2 ONLY with workbook 1 vbe password? 工作簿 2 不知道工作簿 1 的 vbe 密码,但可以轻松绕过 xlsheet非常隐藏的设置。

非常感谢!

劳伦斯

老实说,我还没有找到一个不能被黑客入侵的办公文件。

除了用于执行此操作的可购买工具之外,您还可以免费找到它们。

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

Information Rights Management in Office

"If you've gotten a file permission error when trying to view a document or email, then you have come across Information Rights Management (IRM). You can use IRM to restrict permission to content in documents, workbooks, and presentations with Office."

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

ThisWorkbook.Protect "password", Structure:=true

直接窗格执行此操作,不要将密码放在代码中的任何位置 - 另一方面,VBE 密码保护(您似乎混淆了 VBA项目保护和工作簿结构保护),绝对easily defeated,很快;如果您将密码写在代码中的任何位置,则认为它已泄露。

使用安全可靠的密码,如果您使用的是最新版本的 Excel 并且有人设法取消对工作簿的保护,他们应该对其进行调整。

如果你的威胁模型是 MI6 特工,如果他们首先到达文件,你就已经输了:把文件放在安全的地方,实施良好的网络安全。