2012-08-30 10 views
5

Abbiamo un'applicazione Delphi 7 in esecuzione su numerose macchine client. Recentemente, alcune macchine client hanno iniziato a utilizzare Microsoft Security Essentials. Ha iniziato a identificare il nostro eseguibile come malware e a chiuderlo immediatamente. Il messaggio visualizzato da Essentials MS Security è:Delphi 7 Application and Microsoft Security Essentials

"Security Essentials articoli sul PC che non riconosce rilevato ......" cosa

strana è che non si verifica sempre alla stessa opzione nell'applicazione. È possibile eseguire la stessa operazione sugli accessi successivi, a volte funziona e altre volte gli elementi essenziali della sicurezza lo chiudono. Ciò rende estremamente difficile restringere a una causa specifica nella nostra applicazione.

Ho provato a eseguire l'applicazione con privilegi di account elevati ed è ancora in grado di farlo fallire. Non è stato possibile duplicare il problema durante l'esecuzione di una compilazione Delphi XE2 della stessa applicazione.

Qualche idea su cosa cercare? Stiamo davvero cercando di evitare di aggiungere la nostra applicazione all'elenco di esclusione di Security Essentials. La nostra applicazione non è mai stata identificata come un problema con vari programmi di sicurezza (norton, mcaffee, ecc.).

+5

Il modo più semplice per garantire che ciò non accada è firmare i file binari con un certificato Authenticode che ha una radice MS accettata (ad esempio, verisign anziché auto-emesso). – Will

+1

La tua app carica le DLL o le BPL in modo dinamico? Il motivo che ti chiedo è che la tua descrizione non si adatta al classico scenario "bloccato all'avvio" in cui le firme all'interno di .exe attivano l'identificazione. Il tuo caso sembra affiorare più tardi durante l'esecuzione, apparentemente dipendente dalle opzioni utilizzate. –

+1

@Will che non garantisce nulla. –

risposta

2

Una volta ho avuto un problema simile con un eseguibile creato con Delphi (7), sebbene non avesse nulla a che fare con Delphi-7. Accade solo che una parte dell'eseguibile corrisponda alla firma di un virus o che la scansione euristica AV sospetti che qualcosa non funzioni nell'eseguibile. Una cosa che puoi provare è modificare alcune impostazioni del compilatore come le opzioni di Debug. La modifica delle informazioni di debug o l'utilizzo di DCU di debug potrebbe comportare sequenze di byte leggermente diverse nell'eseguibile finale.