过去,我曾多次使用“十六进制编辑器将DPB修改为DPx”来绕过旧Excel项目(.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 2011上工作。将文件从filname.xlsm更改为fielname.zip并再次返回会导致excel文件损坏,Excel 2011拒绝识别该文件。
通过将.xlsm文件名修改为.zip,用十六进制编辑器编辑vbaproject.bin文件中的DPB=和GC=值,然后将其保存在.zip文件中,然后将.zip重命名为xlsm,我成功地使其在旧windows机器(XP/Excel 2007)上工作。我在底部使用了Ricko给出的"test“示例,它使用了一个警告--我不得不‘删除’我的GC值,使其与我的文件中的原始值相同。
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
发布于 2014-03-28 13:51:05
我有你的答案,因为我今天也遇到了同样的问题:
有人为所有excel文件(包括.xlsm (2007+版本))制作了一个工作的vba代码,该代码将vba保护密码更改为“宏”。通过浏览他的代码,你可以看到它是如何工作的。
这是这个家伙的博客:http://lbeliarl.blogspot.com/2014/03/excel-removing-password-from-vba.html,这是做这个工作的文件:https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit
粘贴自他博客上的前一篇文章:
对于Excel2007/2010 (.xlsm)文件,请执行以下步骤:
发布于 2015-02-13 11:02:48
新版本,现在您还可以使用GC=尝试将DPB和GC替换为
DPB="DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2“GC="BAB816BBF4BCF4BCF4”
密码将是“测试”
发布于 2015-01-31 03:38:20
DPB
DPB
替换为DPx
检查http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/
https://stackoverflow.com/questions/22663809
复制