如何在不暴露自己的情况下找出宏的作用?

时间:2008-11-06 04:03:47

标签: security ms-word word-vba virus

我收到了两个不同的Microsoft Word文档,我的病毒扫描程序警告我包含宏。这些应该是简单的文本文件,发送它们的人甚至不知道宏是什么;他们可能是个错误,但他们可能是恶意感染的迹象。我的OpenOffice.org安装设置根本不加载宏,因为我很少使用它,所以我不关心我的系统的安全性。我希望能够做的是找出这些宏所做的事情,而不会让我的系统暴露于这些宏的任何恶意意图,以便告诉向我发送文件的人是否传播感染。

9 个答案:

答案 0 :(得分:8)

只是在以前的帖子中进行阐述 -

以下是我遵循的流程 -

  1. 打开文件
  2. 启用修改以退出受保护的视图
  3. Alt F11 打开Visual Basic编辑器
    • 有时你可以在这里查看宏,在我的Word 2013中我不能。
  4. 最小化或关闭VB编辑器窗口。我们将在一分钟后重新开放
  5. 点击Enable Content时按住 Shift 。这将使其无法运行AutoOpen宏。
  6. Alt F11 打开Visual Basic编辑器。
  7. 现在您可能会看到之前没有看到过的宏。

答案 1 :(得分:4)

我刚刚进行了测试。我打开Word(2007)和:

  1. 创建一个简单的宏并将其与文档一起保存为“启用Word宏的文档(.docm)”
  2. 进入安全设置(Office按钮'文件'\ Word选项\信任中心\信任中心设置\宏设置),然后单击“禁用所有带通知的宏”单选按钮,这将阻止宏运行,除非您单击按钮,允许它们运行。
  3. 打开* .docm文档并且宏没有运行,但我可以转到功能区控件上的“视图”选项卡,然后单击“宏”按钮并查看“宏”,然后编辑宏以打开VBA IDE查看宏代码。
  4. 这一切都假设您正在使用Word 2007,尽管我希望在Word的最后一个版本或两个版本中具有相同的功能。我在这个盒子上没有Open Office,但是,我也希望它具有相同的功能。

    祝你好运!

答案 2 :(得分:3)

。??? 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-Editor来分析vbastuff。

答案 3 :(得分:1)

两种可能性。获取VMWare播放器的免费副本并在其中安装Windows和MS Office。然后加载文档并让宏运行。

另一种可能性。我认为您可以将文档加载到MS Word并自动禁用宏,但宏仍然存在,因此您可以使用Word本身查看它。

答案 4 :(得分:1)

(我认为有人应该回答有关使用OpenOffice并在全局禁用宏执行的原始问题;说“打开代码编辑器”是正确的,但实际上需要更多的手持新手;它确实花了年龄才第一次找到它。)

无论如何,根据http://www.tutorialsforopenoffice.org/tutorial/Macros.html,您可以通过ToolsMacrosOrganize MacrosOpenOffice.org Basic来查看(或修改)宏,调出OpenOffice.org Basic Macros窗口。

从那里只需点击树来查找文件中包含的任何宏,然后转到Edit以查看每个宏中的内容。

答案 5 :(得分:1)

如果您要查看单词而不打开word文档以查看宏,您可以使用oledump.py之前名为Dider Stevens的脚本。

获得脚本后,您可以执行此操作:

python oledump.py "your_word.doc" -s a -v

这应返回word文档中所有宏的列表。

答案 6 :(得分:0)

只需打开文档而不激活宏,然后打开代码编辑器以查看它们的作用。

答案 7 :(得分:0)

  • 关于使用 VirusTotal 进行的检查,请注意,仅显示每个“宏和VBA代码流”的第一行(“详细信息”选项卡)。
  • 关于此处的其他答案(我仍然没有足够的声誉直接对其进行评论),请注意, Shift 键不会阻止执行“ ActiveX触发器” ,如此处所述:http://www.decalage.info/vbashift,因此在研究宏之前,请不要单击“启用内容”
  • 此其他答案对我有用(“如果需要,您可以“启用编辑” ,不会执行任何宏”),并以此方式调查.dotm文件:{{3 }}

答案 8 :(得分:-1)

在不运行宏内容的情况下查看宏内容的最安全方法是从您的office文档中打开Visual Basic Editor,其中包含宏的内容。

打开Visual Basic编辑器(Office 2010,可能是2013年和2016年):

  1. 打开文档
  2. 如果询问,您可以启用编辑,不会执行任何宏
  3. 右键单击功能区(菜单) - 选择:自定义功能区
  4. 在右侧部分,选择“开发人员”,它将在功能区上添加“开发人员”选项卡。按确定。
  5. 转到“开发人员”标签,然后单击“Visual Basic编辑器”。
  6. 现在你可以看到所有的宏。

    希望它对你有帮助,它适用于我的excel 2010版本。