我有你的答案,因为我今天遇到了同样的问题:
对于所有excel文件,包括.xlsm(2007+版本),有人制作了一个工作的vba代码,将vba保护密码更改为“macro”。您可以通过浏览他的代码来了解它的工作原理。
这是这家伙的博客: http://lbeliarl.blogspot.com/2014/03/excel-removing-password-from-vba.html 这是完成工作的文件: https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit
粘贴在博客上一篇文章中:
对于Excel 2007/2010(.xlsm)文件,请执行以下步骤:
查找并复制参数DPB中的值(引号中的值),例如: DPB = “282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A”。 (为“宏”密码生成此值。您可以使用此DPB值跳过步骤1-8)
对于密码未知的文件(要解锁的文件)执行步骤4-7。
在此文件中更改您在步骤8中复制的值的DBP值。
如果复制的值比加密文件中的短,则应使用0(零)填充缺少的字符。如果值更长 - 这不是问题(按原样粘贴)。
保存'vbaProject.bin'文件并退出十六进制编辑器。
新版本,现在你也有GC = 尝试用这些替换DPB和GC
DPB = “DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2” GC = “BAB816BBF4BCF4BCF4”
密码将是“测试”
DPB
DPx
校验 http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/
如果你处理 .xlsm 文件而不是 .xls 你可以使用旧方法。我试图修改 vbaProject.bin 在 .xlsm 几次使用 DBP->DBx 它的方法不起作用,也改变了价值 DBP 没有。以下工作让我非常惊讶: 1.保存 .xlsm 如 .xls 。 2.使用 DBP->DBx 方法 .xls 。 不幸的是,使用修改后可能会出现一些错误 .xls 文件,我不得不保存 .xls 如 .xlsx 并添加模块,然后另存为 .xlsm 。
.xlsm
.xls
vbaProject.bin
DBP->DBx
DBP
.xlsx