2012-08-30 12 views
5

Wir haben eine Delphi 7 Anwendung läuft auf zahlreichen Client-Rechnern. In letzter Zeit haben einige der Clientcomputer mit der Verwendung von Microsoft Security Essentials begonnen. Es fing an, unser ausführbares Programm als Malware zu identifizieren und es sofort herunterzufahren. Die Nachricht von MS Security Essentials angezeigt ist:Delphi 7 Application und Microsoft Security Essentials

„Security Essentials Elemente auf Ihrem PC erkannt, dass es nicht erkennt ......“

Seltsame ist es nicht immer auftreten zur gleichen Option in der Anwendung. Sie können den gleichen Vorgang bei nachfolgenden Anmeldungen ausführen und manchmal funktioniert es und andere Male schließt es die wichtigsten Sicherheitsmaßnahmen. Dies macht es extrem schwierig, sich auf eine bestimmte Ursache in unserer Anwendung zu beschränken.

Ich habe versucht, die Anwendung mit erhöhten Kontoberechtigungen auszuführen und war immer noch in der Lage, es zum Scheitern zu bringen. Ich konnte das Problem nicht reproduzieren, wenn ich eine Delphi XE2-Kompilierung derselben Anwendung durchführte.

Haben Sie Ideen, wonach Sie suchen sollten? Wir versuchen wirklich, unsere Anwendung nicht der Ausschlussliste von Security Essentials hinzuzufügen. Unsere Anwendung wurde nie als ein Problem mit verschiedenen Sicherheitsprogrammen (Norton, Mcaffee, etc.) identifiziert.

+5

Der einfachste Weg, dies zu garantieren, besteht darin, Ihre Binärdateien mit einem Authenticode-Zertifikat zu signieren, das einen von MS akzeptierten Stamm besitzt (z. B. Verisign statt selbst ausgegeben). – Will

+1

Lädt Ihre App dlls oder bpls dynamisch? Der Grund, warum ich frage, ist, dass Ihre Beschreibung nicht zum klassischen Szenario "Beim Start blockiert" passt, bei dem Signaturen innerhalb der .exe die Identifikation auslösen. Ihr Fall scheint später während der Ausführung zu erscheinen, scheinbar abhängig von den verwendeten Optionen. –

+1

@Will Das garantiert nichts. –

Antwort

2

Ich hatte einmal ein ähnliches Problem mit einer ausführbaren Datei, die mit Delphi (7) erstellt wurde, obwohl es nichts mit Delphi-7 zu tun hatte. Es kommt einfach vor, dass ein Teil der ausführbaren Datei mit einer Virensignatur übereinstimmt oder der heuristische AV-Scan vermutet, dass etwas mit der ausführbaren Datei nicht stimmt. Eine Sache, die Sie versuchen können, ist, einige der Compiler-Einstellungen wie Debug-Optionen zu ändern. Das Ändern von Debug-Informationen oder das Verwenden von Debug-DCUs kann zu geringfügig unterschiedlichen Bytefolgen in der endgültigen ausführbaren Datei führen.