【问题标题】:Read VBA macros (or vbaProject.bin) of an Excel file without opening it in MS Excel [closed]读取 Excel 文件的 VBA 宏(或 vbaProject.bin)而不在 MS Excel 中打开它 [关闭]
【发布时间】:2013-07-06 08:58:24
【问题描述】:

我想分析 Excel 文件,尤其是那些包含 VBA 程序的文件。因为我打算对大量 Excel 文件逐个运行此分析,所以我不想在 Microsoft Excel 中打开这些文件来分析它们。

其中一个困难是查找和解析 Excel 文件的 VBA 宏。我们知道可以将 Excel 文件转换为包含大量.xmlvbaProject.bin.zip 文件,可以肯定VBA 宏在vbaProject.bin 中。但是,问题是怎么读?

有谁知道是否有任何工具或 API 可以查找和解析 VBA 宏?

有没有人知道有没有工具或者API可以读取vbaProject.bin

【问题讨论】:

  • 那么,你成功了吗?我有类似的问题 - 但我也需要对其进行一些编辑:) 只是想知道你是否可以帮助至少阅读它

标签: vba excel binary bin


【解决方案1】:

Microsoft 提供了一个非常大的 PDF,其中记录了如何从 vbaproject.bin 中提取函数:

https://interoperability.blob.core.windows.net/files/MS-OVBA/%5bMS-OVBA%5d.pdf [Source]

此资源是最新的,自 2019 年 6 月 27 日起可用。如果此链接失效(Microsoft 会定期更改其永久链接结构或以其他方式更改其文档/答案存储库的实施方式等),请搜索 @987654325 @。

一些附加信息可能会或可能不会补充上述内容:

http://www.codeproject.com/Articles/15216/Office-2007-bin-file-format

【讨论】:

  • 友情提示:提到的主要资源(从`vbaproject.bin`中提取函数)似乎不可用,因此无法再阅读这个高度赞成的答案的主要部分 - @大卫泽门斯
  • 谢谢@T.M. -- MS 不时更改其存储库和文档结构。我想在发布此答案后的 6 年中的某个时候,他们对该资源进行了重大更改。我已经更新了当前的资源位置。干杯。
【解决方案2】:

这里是an article updated in 2017,其中列出了一些有助于解决此问题的工具。我能够使用 OfficeMalScanner 工具从 vbaProject.bin 中提取 VBA 代码。 编辑:在成功使用此工具几个月后,Windows 正在检测其中的恶意软件。链接是 www dot rebuilder dot org/code/OfficeMalScanner.zip。使用风险自负 - 在源代码丢失后,我从项目中提取了一堆需要的 VBA 代码。 编辑 2: 根据下面的@HackSlash 评论,可能是误报。

【讨论】:

  • OfficeMalScanner 工具链接下载包含病毒!
  • 它不是病毒。它是一种可用于查找病毒的工具。有时,安全工具会被归类为“黑客”并被视为“潜在有害程序”而被阻止。你必须比病毒扫描程序更聪明。
猜你喜欢
  • 2013-07-07
  • 1970-01-01
  • 2021-05-01
  • 2010-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多