34

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

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

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

有谁知道是否有任何工具或 API 可供阅读vbaProject.bin

4

2 回答 2

30

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

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

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

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

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

于 2013-07-09T02:32:29.157 回答
5

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

于 2019-06-27T17:52:55.723 回答