Para los binarios de código nativo, la ingeniería inversa es difícil (aunque no imposible). IDA (Interactive DisAssembler) es la herramienta más popular para desensamblar los binarios nativos en algo que es aproximadamente comprensible para los humanos, aunque todavía no es trivial usarlo correctamente y puede tomar algo de tiempo para dominarlo. El desarrollador también publica un decompiler , que intenta convertir el código binario en algo parecido al código fuente de C . Ambos son programas comerciales (y caros), aunque puede obtener una versión de evaluación de IDA.
Tenga en cuenta que incluso si tiene el código fuente original (que ninguna herramienta puede proporcionarle), a menos que sea un experto en el análisis del código fuente, no hay garantía de que pueda determinar si la biblioteca es maliciosa o no. El Concurso de Código C ofuscado Internacional y, especialmente, el Concurso C Underhanded
No hay una forma práctica de saber, con seguridad, que un binario no es malicioso.
El malware moderno a menudo está muy ofuscado (a mano y / o con una utilidad), tanto para disuadir a la ingeniería inversa como para intentar evitar las comprobaciones de antivirus. Sin embargo, no todo el código confuso es malicioso; cosas como la comprobación de licencias y las bibliotecas que aplican DRM también están generalmente muy ofuscadas, al igual que cualquier binario que contenga algoritmos de propiedad altamente sensibles que el desarrollador / editor intenta mantener en secreto.
Ejecutar el binario a través de VirusTotal es una buena idea, pero todo lo que puede decir es que "¿algún software antivirus lo detectaría como malicioso?" Y eso no es suficiente información. Los escáneres de virus pueden producir falsos positivos (marcando el software seguro como malicioso) y falsos negativos (no reconocer el software malicioso), y los desarrolladores de malware son conscientes de la necesidad de evitar la detección por el software antivirus.
Otra cosa a considerar es cuán confiable es la fuente del archivo. Adobe es conocido por el software de buggy (por ejemplo, Photoshop) y / o inseguro (por ejemplo, Flashplayer), pero por lo que sé, nunca ha publicado nada que cumpla con la definición convencional de "malicioso" (algunas personas consideran a todos los DRM como maliciosos, pero Veo su punto. Creo que están diluyendo el término y no contamos personalmente con DRM como malicioso, a menos que tenga un impacto en el software (por ejemplo, los rootkits de Sony BMG). Si el archivo tiene una firma digital válida de Adobe (o cualquier otro desarrollador razonablemente confiable), las probabilidades de que sea malicioso son mucho menores. Si la firma falta, no es válida o es creada por un tercero que no reconoce (verifique muy cuidadosamente que el firmante es quien usted cree que es, no otra persona con un nombre similar) ), entonces esa es una razón para sospechar, especialmente en el último caso (el nombre se parece a alguien más).