我的 VBA Excel 宏中的防病毒误报

2023-12-31

我刚刚遇到了一个更烦人的问题 https://stackoverflow.com/questions/3339136/antivirus-false-positive-in-my-executable。突然,Windows Defender 开始将我的一个包含 VBA 宏代码(从浏览器下载)的 Excel 文件标记为病毒。记录的具体病毒是:

谷歌搜索显示以下信息:

O97M.Downloader 是 Microsoft Office 宏的通用检测 下载其他威胁。它们通常包含在其他 Microsoft Office 文档可能会到达受感染的计算机 通过附件或从网站下载后。 https://www.symantec.com/security-center/writeup/2015-031222-2047-99

太棒了,所以一旦 Windows Defender 检测到它,它基本上会粉碎该文件,当您尝试打开它时,Excel 声称该文件已“已损坏”。我很乐意将我的 VBA 文件发布到http://www.virustotal.com http://www.virustotal.com然而,它包含大量无法与更广泛的社区共享的专有 VBA 代码。我想知道是否有一个网站可以用不同的条款和条件完成同样的事情?

这只是最近才开始的,并且只影响了少数用户/客户。我不确定安装了此软件的客户端的分布以及他们正在运行的 Windows Defender 版本。我担心这种影响会越来越大,直到我们的大量客户受到影响。更麻烦的是,通常客户可以毫无问题地下载一个版本,但是当他们从不同的源下载文件(相同的 VBA 代码)时,就会遇到问题,下载源是否会影响文件被标记的可能性?

主要问题

是什么导致 Excel VBA 文件被标记为“O97M”病毒?如何防止它被标记?

相关问题

Should 我签署我的 VBA 宏 https://support.office.com/en-us/article/digitally-sign-your-macro-project-956e9cc8-bbf6-4365-8bfa-98505ecd1c01,这会影响病毒检测的可能性吗?

它们是我可以改变的其他常见做法,会影响误报的可能性吗?

“Trojan:O97M/Foretype.A!ml”到底是什么?窗口页面包含的信息太少,甚至可能不存在,赛门铁克也没有什么帮助,(也许我在这里非常不知情)是否有一个用于病毒检测的集中存储库?我想人们可能不想分享这一点,而且它因产品而异,但我对与此相关的任何信息感兴趣......

外部库

我还使用以下外部代码:

https://gist.github.com/brucemcpherson/3414365/ https://gist.github.com/brucemcpherson/3414365/

https://www.thespreadsheetguru.com/the-code-vault/2014/4/23/loop-through-all-excel-files-in-a-given-folder https://www.thespreadsheetguru.com/the-code-vault/2014/4/23/loop-through-all-excel-files-in-a-given-folder

如何在不关闭调用工作簿的情况下使用VBA SaveAs? https://stackoverflow.com/questions/18899824/how-to-use-vba-saveas-without-closing-calling-workbook/18901568#18901568

我还使用以下窗口函数:

Public Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Public Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As LongPtr, ByVal nIndex As Long) As LongPtr
Public Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
Public Declare PtrSafe Function GetWindowRect Lib "user32" (ByVal hWnd As LongPtr, lpRect As RECT) As LongPtr
Public Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hWnd As LongPtr, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongPtr
Public Declare PtrSafe Function SetParent Lib "user32.dll" (ByVal hWndChild As LongPtr, ByVal hWndNewParent As LongPtr) As LongPtr
Public Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hWnd As LongPtr) As LongPtr
Public Declare PtrSafe Function GetDeviceCaps Lib "gdi32.dll" (ByVal hdc As LongPtr, ByVal nIndex As LongPtr) As LongPtr
Public Declare PtrSafe Function GetDC Lib "user32.dll" (ByVal hWnd As LongPtr) As LongPtr
Public Declare PtrSafe Function ReleaseDC Lib "user32.dll" (ByVal hWnd As LongPtr, ByVal hdc As LongPtr) As LongPtr
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare PtrSafe Function SetLastError Lib "kernel32.dll" (ByVal dwErrCode As Long) As Long
Public Declare PtrSafe Function GetActiveWindow Lib "user32.dll" () As Long
Public Declare PtrSafe Function DrawMenuBar Lib "user32" (ByVal hWnd As LongPtr) As Long

我们联系了微软 https://www.microsoft.com/en-us/wdsi/filesubmission?persona=SoftwareDeveloper他们回复了以下消息(由于某种原因无法以文本形式复制):

所以我猜这是 JSON VBA 逻辑,我猜它已经解决了(我还没有看到这种情况再次发生),尽管这真的很难说。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 VBA Excel 宏中的防病毒误报 的相关文章

  • 有没有更快的方法来使用Powershell解析Excel文档?

    我正在与一个接口MS Excel文件通过Powershell 每个 Excel 文档可能有大约 1000 行数据 目前这个脚本似乎读取了Excel文件并以每 0 6 秒 1 条记录的速率将值写入屏幕 乍一看 这似乎非常慢 这是我第一次阅读E
  • 在 Excel 中使用 VBA 设置图像透明度

    有没有办法使用 VBA 脚本对图像应用一些透明度 我录制了一个 宏 但似乎没有录制艺术效果 我已经找到了如何制作形状 但没有找到图像 这需要几个步骤 将自选图形 如矩形 放置在工作表上 使用以下方法将您的实际图片嵌入矩形中 ShapeRan
  • 无法使用 VBA 代码从 Excel 连接到 Teradata - 无法通过网络访问 Teradata 服务器

    我一直在尝试使用 vba 代码从 Excel 连接到 Teradata 但收到以下错误 无法通过网络访问 Teradata Server 我已经能够从 Teradata SQL 助手成功连接 并且还成功 ping 通 Teradata 服务
  • 使用 VBScript 在日期字段值上选择错误的数据

    我有一张包含以下数据的表 现在 Excel 共有 36 个任务 每个任务有 4 列 第一个任务 即 Task1 名称将始终从 L 列开始 144 列描述了 36 个任务 现在我们需要按行进行检查 并需要检查 TNStart 开始日期 你们能
  • 使用 split 函数到数组中会导致编译错误:无法分配给数组

    我正在尝试使用split 函数根据给定名称字符串中的空格拆分名称 当尝试编译我在下面编写的代码时 出现编译错误 无法分配给数组 我几乎从这里复制了微软的示例 https support microsoft com en us kb 2662
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • 如何将 .xlsx 文件上传到 jenkins 作业

    如何将 xlsx 文件作为构建参数上传到 jenkins 作业 我尝试使用文件参数 但我发现该文件正在丢失其扩展名或原始格式 有什么方法可以从 jenkins UI 将 excel 文件上传到 jenkins 作业吗 In the file
  • 将 MS 转换为秒

    我发现这个公式可以用来将 MS 转换为秒 但它是为 Excel 2002 编写的 而我正在使用 2010 CONCATENATE TEXT INT B1 1000 86400 hh mm ss B1 INT B1 1000 1000 以下是
  • 使用 XMLHTTP 进行抓取会在特定类名处引发错误

    我正在尝试使用此代码抓取网站以提取姓名和联系人 Sub Test Dim htmlDoc As Object Dim htmlDoc2 As Object Dim elem As Variant Dim tag As Variant Dim
  • 在 VBA 中捕获 shell 命令的输出值?

    发现这个功能http www cpearson com excel ShellAndWait aspx http www cpearson com excel ShellAndWait aspx 但我还需要捕获 shell 的输出 有什么代
  • 数据透视表错误 |无效的调用或过程

    我需要一些帮助来解决这个问题 我正在尝试创建一个数据透视表 从第一季度开始 在同一张表中包含一系列数据 第一个 if 语句在那里是因为最后一列并不总是包含标题 所以我将其包含在那里 我希望范围是动态的 因为所制作的表格的大小将根据工作表中数
  • 如何从 SQL Server 存储过程返回值并在 Access VBA 中使用它们

    我已经在 SQL Server 中设置了一个运行良好的存储过程 我现在可以从 VBA 调用它 但想返回一个值以了解是否存在任何错误等 我的 SP 中的最后一个参数设置为 OUTPUT DataSetID int 0 Destination
  • Vlookup 引用不同工作表中的表数据

    我想用一个VLOOKUP函数引用了放置在与所在工作表不同的工作表中的数据表VLOOKUP书面的功能 示例 在工作表 1 的单元格 AA3 中 我想插入VLOOKUP功能 我希望该函数检查单元格 M3 中的数字 在工作表 2 范围地址 A2
  • 使用 PhpSpreadsheet PHP 设置单元格边框样式

    我使用 PhpSpreadsheet 来读取或写入 Excel 文件 我想向我的 Excel 添加边框样式 所以我使用了以下代码
  • Excel - 公式或宏根据链接到另一个单元格的另一个单元格填充单元格

    在 Excel 中 我试图根据其他两个单元格中包含的值创建一个单元格 我需要单元格 X 和 Y 来获取基于单元格 L 和 的数据 就像这样 X Y L 1 2 3 4 5 6 A 6 1 1 6 1 6 1 7 1 7 2 7 2 8 1
  • 索引行和列意外结果

    我试图理解以下行为 如果我有以下数据 A B a 1 b 2 c 3 如果我使用 INDEX A 1 B 3 它将正确显示整个范围 如果我使用 INDEX A 1 B 3 1 它将正确显示两列第一行的数据 如果我使用 INDEX A 1 B
  • Pandas.read_excel 有时会错误地将布尔值读取为 1/0

    我需要将一个非常大的 Excel 文件读入 DataFrame 中 该文件包含字符串 整数 浮点和布尔数据 以及丢失的数据和完全空的行 还值得注意的是 某些单元格值源自单元格公式和 或 VBA 尽管理论上这不会影响任何内容 正如标题所示 p
  • 生成Excel文件错误

    我在经典 ASP 中使用以下代码生成 Excel 文件 代码很简单并且有效 我在 Windows Vista x86 上的 IIS 7 0 下运行代码 两个问题 有一个奇怪的警告框 这是屏幕快照 http i27 tinypic com 2
  • 如何根据单元格的值更改单元格的格式和文本。 (条件格式)

    您好 我想根据单元格的值更改单元格的填充颜色和文本 假设我有以下价值观 我想让它像这样 对我来说 填充颜色很简单 因为我只需执行条件格式即可 然而 文字却让事情变得困难 如何将单元格值更改为文本 如上面的示例 谢谢 为颜色创建条件格式规则
  • 从 VBA 访问串行端口的最佳方法是什么?

    从 VBA 访问串行端口的最佳方法是什么 我需要我们的一些销售代表能够通过 PowerPoint 中的操作按钮通过串行端口发送简单的字符串 我不常用 VBA 尤其是像这样的事情 通常我会把它变成某种应用程序 但实际上我认为这个想法并没有那么

随机推荐

  • 处理 parsedatetime 的不同结果

    在过去 15 年左右的时间里 我只偶尔使用 Perl 工作 现在我正在尝试学习 Python 我无法理解如何处理来自 parsedatetime 的 Calendar parse 的解析方法的两种不同类型的结果 鉴于这个脚本 usr bin
  • 如何强制eclipse使用指定的界面语言?

    我的新工作笔记本电脑设置了我的本地 波兰 语言环境 但是 我根本无法以英语以外的任何语言使用 eclipse 我太习惯英文名字了 所以不明白翻译 如何强制 Eclipse 以操作系统使用的其他语言启动 好 我知道了 eclipse ini
  • 通过 TCP 代理的 RDP

    第一次使用 Stackoverflow 希望有人能帮助我 我正在研究通过 TCP 代理 隧道传递 RDP 流量的概念证明 该代理 隧道将使用 HTTPS 通过防火墙 该问题与将映像部署到计算机有关 因此不能假设 NET 框架将存在 因此在连
  • 将 Grunt 应用程序部署到 heroku 时,NPM 不会安装模块依赖项

    我使用 grunt 制作了一个静态单页网站 我现在尝试使用以下命令将其部署到 herokuheroku buildpack nodejs grunt https github com mbuchetics heroku buildpack
  • 已 root 的 Galaxy S8 上的设备所有者

    我一直在尝试将我的内部演示应用程序提升为设备所有者rootedS8 一直有问题 我尝试过的方法 1 NFC 配置 如所解释的here https github com googlesamples android NfcProvisionin
  • 如何使用应用密码访问bitbucket

    我已经按照说明创建了应用程序密码here https confluence atlassian com bitbucket app passwords 828781300 html 但现在 我如何使用此应用程序密码访问存储库 网址是什么 有
  • 使用 C 无法从 TCP 套接字正确接收数据 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我使用的是 Ubuntu 12 04
  • 如果字符串出现在源(或差异)中,Git 在提交之前发出警告

    当我在某个场所进行表演时 我希望能够被阻止 git如果我要提交的更改包含某个字符串 例如 todo or hack 有人可以告诉我如何实现这一目标吗 或警告 或在提交时 一个简单的预提交钩子检查是否添加了字符串 todo 如下所示 bin
  • Chrome 扩展和 Javasctipy 数据库

    我正在尝试构建一个 Chrome 扩展程序 该扩展程序将大量使用数据和图像 在存储数据时我有哪些选择 我希望我有某种 SQL 选项 SQLite 你可以去base64 http en wikipedia org wiki Base64编码图
  • 在后台打开新标签页?

    使用 javascript 我想在不同的选项卡中打开一个新页面 但仍将注意力集中在当前选项卡上 我知道我可以这样做 open http example com focus 但是 当我在 Chrome 中执行此操作时 它会在切换回当前选项卡之
  • 无法以编程方式更改 UITextView 框架大小

    我已使用界面生成器在视图中插入 UITextView 现在我想更改其框架大小 以便以编程方式适合内容 问题在于 由于限制 大小似乎被锁定并且无法从代码中更改 如果我在文件检查器中禁用自动布局 每个对象都会删除约束 但我只想更改 UIText
  • “UnicodeEncodeError:‘ascii’编解码器无法对字符进行编码”

    我试图通过正则表达式传递大的随机 html 字符串 而我的 Python 2 6 脚本对此感到窒息 UnicodeEncodeError ascii 编解码器无法对字符进行编码 我追溯到这个词末尾的商标上标 Protection 我希望将来
  • 如何交互 BlazorWebView 和 Windows 窗体

    我想将数据从 Windows 窗体发送到 BlazorWebView 并接收从 Web 视图返回到窗体的通知 这个怎么做 在 Net 6 Windows 窗体应用程序中 BlazorWebView blazorApp new BlazorW
  • iPhone 中用于 AES 加密的不同填充模式和密码模式有哪些?

    iPhone 中用于 AES 加密的不同填充模式和密码模式有哪些 Thanks 有两种填充模式 PKCS 7 和无 以及两种相应的密码模式 CBC 和 ECB 如果您指定kCCOptionPKCS7Padding然后你会得到 CBC 并且如
  • 如何在 MySQL 中使用准备好的语句截断表?

    这返回 true 但它没有截断表 this gt db gt query TRUNCATE TABLE tablename 但它在为准备好的语句创建数据库连接对象之前起作用 如何修复它 另外 我想知道如何使用准备好的语句截断表 NO 准备好
  • djangorest框架创建带有密码的用户

    使用 django rest framework 3 和 django 1 8 我正在尝试使用 django rest framework ModelViewSerializer 创建用户 问题是DRF使用的默认objects create
  • 如何在 PostgreSQL 中对使用 date_trunc 函数的表达式创建索引?

    当我尝试在 PostgreSQL 中对类型的表字段的表达式创建索引时date 使用date trunc函数 我收到以下错误 functions in index expression must be marked IMMUTABLE 我该如
  • Webpack 4 devtool 选项不适用于 webpack-dev-server

    在我决定发布这个问题之前 我做了很多事情作为背景调查 所以 我的问题是 我使用 webpack v4 6 0 和 webpack dev server v3 1 3 他们一起工作得很好 但现在我正在尝试为我的应用程序设置源映射 似乎开发工具
  • 如何续订 Azure API 管理证书

    使用我们的 Azure API 管理端点配置的证书今天过期了 显然它的有效期只有一年 我们如何更新它 我们认为使用 MS 提供的默认 API 管理证书意味着我们不必手动担心更新它 但事实似乎并非如此 证书过期消息 https i stack
  • 我的 VBA Excel 宏中的防病毒误报

    我刚刚遇到了一个更烦人的问题 https stackoverflow com questions 3339136 antivirus false positive in my executable 突然 Windows Defender 开