2012-08-30 19 views
5

Tenemos una aplicación Delphi 7 que se ejecuta en numerosas máquinas cliente. Recientemente, algunas de las máquinas cliente comenzaron a usar Microsoft Security Essentials. Comenzó a identificar nuestro ejecutable como malware y lo cerró rápidamente. El mensaje mostrado por MS esenciales de seguridad es:Aplicación Delphi 7 y Microsoft Security Essentials

"Fundamentos de seguridad de artículos en su PC que no reconoce detectaron ......" cosa

extraño es que no siempre ocurre a la misma opción en la aplicación. Puede hacer la misma operación en los inicios de sesión posteriores y, a veces, funciona, y otras veces, los elementos esenciales de seguridad lo cierran. Esto hace que sea extremadamente difícil limitarse a una causa específica en nuestra aplicación.

Intenté ejecutar la aplicación con privilegios de cuenta elevados y todavía pude conseguir que fallara. No pude duplicar el problema al ejecutar una compilación Delphi XE2 de la misma aplicación.

¿Alguna idea sobre qué buscar? Estamos tratando de evitar agregar nuestra aplicación a la lista de exclusión de Security Essentials. Nuestra aplicación nunca ha sido identificada como un problema con varios programas de seguridad (norton, mcaffee, etc.).

+5

La manera más fácil de garantizar que esto no ocurra es firmar los archivos binarios con un certificado Authenticode que tenga una raíz aceptada por MS (por ejemplo, verisign en lugar de autoemitido). – Will

+1

¿Su aplicación carga dlls o bpls dinámicamente? La razón por la que pregunto es porque su descripción no se ajusta al clásico escenario "bloqueado al inicio" donde las firmas dentro del .exe desencadenan la identificación. Su caso parece surgir más tarde durante la ejecución, aparentemente depende de las opciones utilizadas. –

+1

@Will Eso no garantiza nada. –

Respuesta

2

Una vez tuve un problema similar con un ejecutable creado con Delphi (7), aunque no tenía nada que ver con Delphi-7. Ocurre que alguna parte del ejecutable coincide con alguna firma de virus o el análisis heurístico AV sospecha que algo está mal con el ejecutable. Una cosa que puedes intentar es cambiar algunas de las configuraciones del compilador, como las opciones de depuración. Cambiar la información de depuración o usar DCU de depuración podría dar lugar a secuencias de bytes ligeramente diferentes en el ejecutable final.

Cuestiones relacionadas