我过去多次使用“十六进制编辑器修改DPB到DPx”来绕过旧的Excel VBA项目(.xls)上的VBA项目安全性,所以我肯定知道怎么做,知道我可以做到这一点。
但是我昨天试图这样做,发现它似乎不再起作用了。我尝试使用Excel 2011(Mac)和Excel 2003(Windows),在这两种情况下,我都有相同的行为;
打开VBA编辑器会显示一条消息,指出项目已损坏,项目将被删除。然后打开VBA编辑器,当然,所有VBA都会从模块和工作表中删除。
我尝试过这种方法: Is there a way to crack the password on an Excel VBA Project?(即创建一个包含已知密码的电子表格,然后在相关字段中复制)
但是发现在我的'虚拟'电子表格上创建的“GC”键的长度比我希望访问的电子表格上的“GC”键(“目标”)短。我曾在其他地方读过,如果“目标”键的长度较长,你可以将“虚拟”键填充到相同的长度,但在相反的情况下我无法找到说明该做什么。
所以 - 我的问题;
修改 现在解决了这个问题(在某种程度上),我想我会在这里添加一个摘要。
我没有能够让它在Mac Excel 2011上运行。有关将文件从filname.xlsm更改为fielname.zip并再次返回的结果会导致Excel 2011中的Excel文件损坏拒绝承认。
我DID设法通过将.xlsm文件名修改为.zip来使旧的Windows机器(XP / Excel 2007)工作,使用十六进制编辑vbaproject.bin文件中的DPB = AND GC =值然后编辑器将此文件保存在.zip文件中,然后将.zip重命名为xlsm。我使用了Ricko在底部给出的“测试”示例,它与ONE CAVEAT一起使用 - 我必须“填充”我的GC值,使其与我文件中的原始值相同。
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
答案 0 :(得分:51)
我有你的答案,因为我今天遇到了同样的问题:
对于所有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'文件并退出十六进制编辑器。
答案 1 :(得分:15)
新版本,现在您还拥有GC = 尝试用那些
替换DPB和GCDPB = “DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2” GC =“BAB816BBF4BCF4BCF4”
密码将为“test”
答案 2 :(得分:11)
DPB
DPB
替换为DPx
检查http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/
答案 3 :(得分:4)
如果您处理.xlsm
文件而不是.xls
,则可以使用旧方法。我试图使用vbaProject.bin
方法在.xlsm
中多次修改DBP->DBx
,因为它不起作用,而DBP
的值也没有改变。以下工作令我非常惊讶:
1.将.xlsm
保存为.xls
2.在DBP->DBx
上使用.xls
方法
3.遗憾的是,使用修改后的.xls
文件时可能会出现一些错误,我必须将.xls
保存为.xlsx
并添加模块,然后保存为.xlsm
。