我收到了两个不同的 Microsoft Word 文档,我的病毒扫描程序警告我包含宏。这些应该是简单的文本文件,发送它们的人甚至不知道宏是什么;它们可能是他的错误,但它们可能是恶意感染的迹象。我安装的 OpenOffice.org 设置为根本不加载宏,因为我很少使用它们,所以我不担心系统的安全性。我想要做的是找出这些宏的作用,而不会使我的系统暴露于这些宏的任何恶意意图,以便告诉向我发送文件的人他是否正在传播感染。
9 回答
只是为了阐述这些以前的帖子 -
这是我遵循的过程-
- 打开文件
- 启用编辑以退出受保护的视图
- AltF11打开 Visual Basic 编辑器
- 有时您显然可以在此处查看宏,但在我的 Word 2013 中却无法查看。
- 最小化或关闭 VB 编辑器窗口。我们将在一分钟内重新开放
- 按住Shift时单击
Enable Content
。这将阻止它运行 AutoOpen 宏。 - AltF11打开 Visual Basic 编辑器。
- 现在您可能会看到以前没有看到的宏。
我刚做了一个测试。我打开 Word (2007) 并:
- 创建了一个简单的宏并与文档一起保存为“启用 Word 宏的文档 (.docm)”
- 进入安全设置(Office Button 'File'\Word Options\Trust Center\Trust Center Settings\Macros Settings)并单击“禁用所有带有通知的宏”单选按钮,除非您单击按钮允许运行,否则宏将无法运行他们跑。
- 打开 *.docm 文档并且宏没有运行,但我能够转到功能区控件上的“查看”选项卡并单击宏按钮并查看宏,然后编辑宏以打开 VBA IDE 以查看宏代码。
这一切都假设您使用的是 Word 2007,尽管我希望 Word 的最后一个或两个版本具有相同的功能。我在这个盒子上没有 Open Office,但是,我也希望它具有相同的功能。
祝你好运!
.???x 只是一个 zip 格式。
解压缩文件,你最终会得到这样的结果:
.
├── [Content_Types].xml
├── docProps
│ ├── app.xml
│ ├── core.xml
│ └── custom.xml
├── _rels
└── word
├── document.xml
├── fontTable.xml
├── _rels
│ ├── document.xml.rels
│ └── vbaProject.bin.rels
├── settings.xml
├── styles.xml
├── theme
│ └── theme1.xml
├── vbaData.xml
├── vbaProject.bin
└── webSettings.xml
现在您可以使用 Texteditor 或您选择的其他 VBA 编辑器分析 vbastuff。
两种可能。为自己获取一份 VMWare 播放器的免费副本,并在其中安装 Windows 和 MS Office。然后加载文档并让宏运行。
另一种可能。我认为您可以将文档加载到 MS Word 中并自动禁用宏,但宏仍然存在,因此您可以使用 Word 本身查看它。
如果您想在不打开 word 文档来查看宏的情况下查看 word 宏,您可以使用Dider Stevens的名为oledump.py的脚本。
获得脚本后,您可以执行以下操作:
python oledump.py "your_word.doc" -s a -v
这应该返回 word 文档中所有宏的列表。
(我认为有人应该回答有关在全局禁用宏执行的情况下使用 OpenOffice 的原始问题;说“打开代码编辑器”是正确的,但对于新手来说确实需要更多的帮助;我确实花了很长时间才找到它时间。)
无论如何,根据http://www.tutorialsforopenoffice.org/tutorial/Macros.html,您可以通过Tools
→ Macros
→ Organize Macros
→查看(或编辑)宏OpenOffice.org Basic
,这将打开OpenOffice.org Basic Macros
窗口。
从那里只需单击树以查找文件中包含的任何宏,然后Edit
查看每个宏中的内容。
- 关于VirusTotal的检查,请注意仅显示每个“宏和 VBA 代码流”
的第一行(详细信息选项卡)。
- 举个例子(这个 .dotm 被报告为恶意软件,但我正在对其进行调查以了解它是否不是):https ://www.virustotal.com/gui/file/46dd48caaaf2a36902739ed1cc11b9f073f1b76fc27af4cfb2f0264ae1838f71/details
- 关于这里的其他答案(我仍然没有足够的声誉来直接评论它们),请注意,Shift密钥不会阻止执行“ActiveX 触发器” ,如此处所述:http: //www.decalage.info/vbashift所以在调查宏之前不要单击“启用内容” 。
- 这个其他答案对我有用(“如果被问到,您可以“启用编辑”,不会执行宏”)并且这样做我正在调查一个 .dotm 文件:https ://stackoverflow.com/a/35663074/6390099
在不运行宏的情况下查看宏内容的最安全方法是从包含宏内容的 Office 文档中打开 Visual Basic 编辑器。
要打开 Visual Basic 编辑器(Office 2010,可能是 2013 和 2016):
- 打开文档
- 如果询问,您可以启用编辑,不会执行宏
- 右键单击功能区(菜单) - 选择:自定义功能区
- 在右侧部分中,选择“开发人员”,它将在功能区上添加一个“开发人员”选项卡。按确定。
- 转到“开发人员”选项卡,然后单击“Visual Basic 编辑器”。
现在您可以看到所有宏。
希望它对您有所帮助,它适用于我的 excel 2010 版本。
只需在不激活宏的情况下打开文档,然后打开代码编辑器查看它们的作用。