Vba 如何在不暴露自己的情况下找出宏的功能?

Vba 如何在不暴露自己的情况下找出宏的功能?,vba,security,ms-word,Vba,Security,Ms Word,我收到了两个不同的Microsoft Word文档,病毒扫描程序警告我其中包含宏。这些应该是简单的文本文件,发送它们的人甚至不知道宏是什么;这可能是他的错误,但可能是恶意感染的迹象。我安装的OpenOffice.org设置为根本不加载宏,因为我很少使用宏,所以我不担心系统的安全性。我希望能够了解这些宏的作用,而不会让我的系统暴露在这些宏的恶意意图下,以便告诉发送文档的人他是否在传播感染。只需打开文档而不激活宏,然后打开代码编辑器查看它们的功能。有两种可能。免费获得一份VMWare player,

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

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

有两种可能。免费获得一份VMWare player,并在其中安装Windows和MS Office。然后加载文档并让宏运行


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

我刚刚运行了一个测试。我打开Word(2007)并:

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

    祝你好运

    (我认为应该有人回答关于在全局禁用宏执行的情况下使用OpenOffice的原始问题;说“打开代码编辑器”是正确的,但对于新手来说确实需要更多的人手;第一次找到它肯定花了我很多时间。)

    无论如何,根据,您可以通过使用
    Tools
    → <代码>宏→ <代码>组织宏→
    OpenOffice.org Basic
    ,将弹出
    OpenOffice.org Basic宏
    窗口


    从这里开始,只需在树上单击以查找文件中包含的任何宏,然后转到
    编辑
    ,查看每个宏中包含的内容。

    只需在前面的文章的顶部进行阐述-

    以下是我遵循的流程-

  • 打开文件
  • 启用编辑以退出受保护视图
  • AltF11打开Visual Basic编辑器
    • 有时候你可以在这里看到宏,用我的话说,我看不到
  • 最小化或关闭VB编辑器窗口。我们马上就开门
  • 按住Shift键,同时单击
    启用内容
    。这将阻止它运行自动打开宏
  • AltF11打开Visual Basic编辑器
  • 现在您可以看到以前没有看到的宏
    在不运行宏的情况下查看宏内容最安全的方法是从office文档中打开Visual Basic编辑器,该文档将包含宏的内容

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

  • 打开文档
  • 如果被要求,您可以启用编辑,不会执行宏
  • 在功能区(菜单)上单击鼠标右键-选择:自定义功能区
  • 在右侧部分,选择“开发人员”,它将在功能区上添加一个选项卡“开发人员”。按OK
  • 转到“开发人员”选项卡并单击“Visual Basic编辑器”
  • 现在您可以看到所有宏


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

    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。

    如果您想查看word宏,而不打开word文档查看宏,您可以使用调用的脚本

    完成脚本后,可以执行以下操作:

    python oledump.py "your_word.doc" -s a -v
    
    这将返回word文档中所有宏的列表。

    • 关于使用VirusTotal进行检查,请注意仅显示每个“宏和VBA代码流”的前几行(详细信息选项卡)。
      • 举个例子(这个.dotm被报告为恶意软件,但我正在调查它以了解它是否是):
    • 关于这里的其他答案(我仍然没有足够的声誉来直接评论它们),请注意Shift键不会阻止执行“ActiveX触发器”,如下所述:因此在调查宏之前,不要单击“启用内容”
    • 另一个答案对我很有用(“如果有人询问,您可以“启用编辑”,不会执行任何宏”),这样做我正在调查.dotm文件:

    三个安全保证,确保安全操作。你能安全多少?很多。如果Word的其他部分存在缓冲区溢出,您可能仍然会受到影响称此为危险是轻描淡写的注意:不在office 97中,我今天通过电子邮件收到一个非常可疑的Word.doc(不是docx),希望检查它携带的是什么邪恶货物。我想到了一个宏,并想阅读脚本,因此我在这里阅读了这个线程,寻找一个安全的方法来实现这一点。我保存了附件,以便用texteditor et打开它