Excel VBA密码通过hex编辑器

过去我多次使用“hex编辑器修改DPB到DPx”来绕过旧的Excel VBA项目(.xls)上的VBA项目安全性,所以我一定知道该怎么做,并知道我可以做到这一点。

不过,我昨天刚试过,发现它不再起作用。 我尝试使用Excel 2011(Mac)和Excel 2003(Windows),在这两种情况下,我得到了相同的行为;

打开VBA编辑器给出了一个消息,说该项目已经损坏,该项目将被删除。 然后,VBA编辑器打开,当然,所有的VBA都从模块和工作表中除去。

我已经尝试了这种方法: 有没有办法破解Excel VBA项目的密码? (即创build一个带有已知密码的电子表格,然后在相关字段中进行复制)

但是,发现在我的“虚拟”电子表格上创build的“GC”键的长度比我希望访问的电子表格(“目标”)上的“GC”键更短。 我曾经在其他地方看过,如果“目标”键长的话,你可以把“虚拟”键放到相同的长度,但是我没有办法find相反的情况下做什么。

所以 – 我的问题;

  • 有没有人知道,如果一个补丁已经被应用,使“hex编辑器”方法无效?
  • 任何人都可以帮助当假键比目标键更长时该怎么办?
  • 任何人都可以提供任何更新现场到这个问题?

编辑现在解决了这个(在某种程度上)我想我会在这里添加一个总结。

我一直没有能够得到这个在Mac Excel 2011上工作。关于将文件从filname.xlsm更改为fielname.zip并再次返回的结果导致Excel 2011拒绝识别损坏的Excel文件。

我设法通过修改.xlsm文件名到.zip,用hex编辑器编辑vbaproject.bin文件中的DPB = AND GC =值,然后保存在将.zip重命名为xlsm之前.zip文件中。 我使用了Ricko在底部给出的“testing”例子,它和ONE CAVEAT一起工作 – 我必须“填充”我的GC值,使其与我的文件中的原始长度相同。

ORIGINAL: GC="0F0DA36FAF938494849484" NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below) NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked) 

我有你的答案,因为我今天也有同样的问题:

有人提出了一个可用的vba代码,将vba保护密码更改为“macro”,适用于所有的excel文件,包括.xlsm(2007+版本)。 你可以通过浏览他的代码来看看它是如何工作的。

这是该家伙的博客: http : //lbeliarl.blogspot.com/2014/03/excel-removing-password-from-vba.html这是做这项工作的文件: https : //docs.google.com/file / d / 0B6sFi5sSqEKbLUIwUTVhY3lWZE0 /编辑

从以前的博客贴出他的博客:

对于Excel 2007/2010(.xlsm)文件,请执行以下步骤:

  1. 创build一个新的.xlsm文件。
  2. 在VBA部分,设置一个简单的密码(例如“macros”)。
  3. 保存该文件并退出。
  4. 将文件扩展名更改为“.zip”,由任何存档程序打开。
  5. find文件:'vbaProject.bin'(在'xl'文件夹中)。
  6. 从档案中提取它。
  7. 用hex编辑器打开刚刚提取的文件。
  8. 查找并复制参数DPB(引号中的值)的值,例如:DPB =“282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A”。 (为“macros”密码生成此值,可以使用此DPB值跳过步骤1-8)

  9. 对步骤4-7进行密码不明的文件(要解锁的文件)。

  10. 在第8步中复制的值中更改此文件中的DBP值。

    如果复制值比encryption文件中的短,则应使用0(零)填充缺less的字符。 如果价值更长 – 这不是问题(按原样粘贴)。

  11. 保存'vbaProject.bin'文件并退出hex编辑器。

  12. 用已修改的文件replace现有的“vbaProject.bin”文件。
  13. 将“.zip”的扩展名更改回“.xlsm”
  14. 现在,打开你需要查看VBA代码的excel文件。VBA代码的密码就是macros(就像我在这里展示的例子)。

新版本,现在你也有GC =尝试用这些replaceDPB和GC

DPB =“DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2”GC =“BAB816BBF4BCF4BCF4”

密码将被“testing”

  1. 用hex编辑器打开xls文件。
  2. searchDPB
  3. DPBreplace为DPx
  4. 保存存档。
  5. 在Excel中打开文件。
  6. 如果您收到任何消息框,请点击“是”。
  7. 从VBA项目属性中设置新密码。
  8. closures并再次打开文件,然后键入您的新密码解除保护。

检查http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/

如果您处理.xlsm文件而不是.xls ,则可以使用旧方法。 我试图在.xlsm使用DBP->DBx方法多次修改vbaProject.bin ,但它没有工作,也没有改变DBP值。 所以我感到非常惊讶,以下工作:
1.将.xlsm保存为.xls
2.在.xls上使用DBP->DBx方法。
3.不幸的是,在使用修改的.xls文件时可能会出现一些错误,我必须将.xls保存为.xlsx并添加模块,然后另存为.xlsm