|
1
14
VBA安全性被广泛认为非常差。VBA代码未编译,源代码在excel文件中可用。密码保护很容易规避。
Office 2007 加密宏(不要问我如何或什么算法)。这可能是必要的,因为XLSM文件(或任何Office 2007文件)只是具有不同扩展名的zip文件。任何人都可以进入这些文件并四处查看。 要回答你的最后一个问题——在旧的Office格式上,密码删除是如何工作的,我不完全确定。不同的供应商可能会以不同的方式处理这个问题,但我怀疑最常见的方法是对密码进行暴力攻击,直到找到匹配的密码。
Excel VBProject对象具有保护属性,该属性将根据宏的保护状态返回不同的枚举(
|
|
|
2
3
Phil是正确的-密码阻止您查看模块,模块本身没有加密。我知道在Excel2007中,文件本质上是XML和其他文件的压缩集合,但我不知道如何处理加密的细节。对于早期版本-excel 2、3、4、5、95、97、2000、XP和;2003年,有全面的 OpenOffice.org's Documentation of the Microsoft Excel File Format :
密码块存储一个16位哈希值,该值是根据工作表或工作簿保护密码计算得出的。 |
|
|
3
-1
有人制作了一个工作vba代码,将所有excel文件的vba保护密码更改为“宏”,包括.xlsm(2007+版本)。你可以通过浏览他的代码来了解它是如何工作的。 这是盖伊的博客: http://lbeliarl.blogspot.com/2014/03/excel-removing-password-from-vba.html 以下是完成此工作的文件: https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit 粘贴自其博客上的前一篇文章:
|
|
|
Kram Kramer · 通过vba自动调整文本大小以适应形状 1 年前 |
|
|
Eric · 我有邮政编码替换问题Excel VBA 1 年前 |
|
|
Chasester · VBA使用嵌套的DIV抓取URL 1 年前 |
|
Iron Man · 代码插入和复制到错误的工作表 1 年前 |
|
|
NoFafo · 将文本框放入数组进行格式化 1 年前 |
|
|
Smokestack · 过滤器范围C3:G3并粘贴到其他单元格 1 年前 |