Blu*_*020 29 excel vba hex-editors excel-vba
我过去多次使用"十六进制编辑器将DPB修改为DPx"来绕过旧的Excel VBA项目(.xls)上的VBA项目安全性,所以我肯定知道如何做到并知道我能做到.
但是我昨天刚尝试这样做,发现它似乎不再起作用了.我尝试使用Excel 2011(Mac)和Excel 2003(Windows),在这两种情况下,我都有相同的行为;
打开VBA编辑器会显示一条消息,指出项目已损坏,项目将被删除.然后打开VBA编辑器,当然,所有VBA都从模块和工作表中删除.
我尝试过这种方法: 有没有办法破解Excel VBA项目的密码?(即创建一个包含已知密码的电子表格,然后在相关字段中复制)
但是发现在我的'虚拟'电子表格上创建的"GC"键的长度比我希望访问的电子表格上的"GC"键("目标")短.我曾在其他地方读到,在"目标"键较长的情况下,你可以将"虚拟"键填充到相同的长度,但在相反的情况下我无法找到说什么做.
所以 - 我的问题;
编辑 现在解决了这个问题(在某种程度上),我想我会在这里添加一个摘要.
我HAVE NOT之所以能得到这个在Mac的Excel工作有关更改从filname.xlsm该文件fielname.zip 2011年的东西,然后再返回结果,其中的Excel 2011拒绝承认损坏的Excel文件.
我通过将.xlsm文件名修改为.zip,使用十六进制编辑器编辑vbaproject.bin文件中的DPB = AND GC =值然后保存,我设法让它在旧的Windows机器(XP/Excel 2007)上工作在将.zip重命名为xlsm之前,在.zip文件中.我使用了Ricko在底部给出的"测试"示例,它与ONE CAVEAT一起使用 - 我必须"填充"我的GC值,使其与我文件中的原始值相同.
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
Run Code Online (Sandbox Code Playgroud)
Mor*_*sho 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 /编辑
粘贴在博客上一篇文章中:
对于Excel 2007/2010(.xlsm)文件,请执行以下步骤:
查找并复制参数DPB中的值(引号中的值),例如:DPB ="282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A".(为"宏"密码生成此值.您可以使用此DPB值跳过步骤1-8)
对于密码未知的文件(要解锁的文件)执行步骤4-7.
在此文件中更改您在步骤8中复制的值的DBP值.
如果复制的值比加密文件中的短,则应使用0(零)填充缺少的字符.如果值更长 - 这不是问题(按原样粘贴).
保存'vbaProject.bin'文件并退出十六进制编辑器.
小智 16
新版本,现在您还有GC =尝试用这些替换DPB和GC
DPB ="DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2"GC ="BAB816BBF4BCF4BCF4"
密码将是"测试"
小智 13
DPBDPB为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。
3.不幸的是,使用修改后的.xls文件时可能会出现一些错误,我必须另存.xls为.xlsx并添加模块,然后另存为.xlsm.