【问题标题】:Delphi 7 Application and Microsoft Security EssentialsDelphi 7 应用程序和 Microsoft Security Essentials
【发布时间】:2012-08-30 15:26:36
【问题描述】:

我们有一个Delphi 7 应用程序在许多客户端机器上运行。最近,一些客户端计算机开始使用 Microsoft Security Essentials。它开始将我们的可执行文件识别为恶意软件并立即将其关闭。 MS Security Essentials 显示的消息是:

“Security Essentials 在您的 PC 上检测到它无法识别的项目......”

奇怪的是它并不总是出现在应用程序的相同选项中。您可以在后续登录时执行相同的操作,有时它会起作用,而有时安全要素会将其关闭。这使得在我们的应用程序中缩小到特定原因变得非常困难。

我尝试使用提升的帐户权限运行该应用程序,但仍然无法使其失败。运行同一应用程序的 Delphi XE2 编译时,我无法重现该问题。

关于寻找什么的任何想法?我们确实在努力避免将我们的应用程序添加到 Security Essentials 排除列表中。我们的应用程序从未被各种安全程序(norton、mcaffee 等)识别为问题。

【问题讨论】:

  • 保证不会发生这种情况的最简单方法是使用具有 MS 接受根的 Authenticode 证书签署您的二进制文件(例如,威瑞信而不是自行颁发)。
  • 您的应用程序是否动态加载 dll 或 bpls?我问的原因是,您的描述不符合经典的“启动时被阻止”场景,即 .exe 中的签名触发识别。您的案例似乎在执行过程中稍后出现,似乎取决于所使用的选项。
  • @Will 这不能保证任何事情。
  • @will 如果我有 VeriSign 证书并签署了病毒,我当然希望所有的 AV 软件都能检测到它,无论证书与否。证书只是证明我上次修改了文件。
  • @DavidHeffernan:我签署了我所有的 virii。最佳实践。

标签: delphi delphi-7 delphi-xe2 ms-security-essentials


【解决方案1】:

我曾经在使用 Delphi(7) 构建的可执行文件中遇到过类似的问题,尽管它与 Delphi-7 无关。恰好可执行文件的某些部分与某些病毒签名匹配,或者 AV 启发式扫描怀疑可执行文件有问题。您可以尝试的一件事是更改一些编译器设置,例如调试选项。更改调试信息或使用调试 DCU 可能会导致最终可执行文件中的字节序列略有不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-18
    • 2013-04-19
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2010-10-02
    相关资源
    最近更新 更多