Después de la comunicación en los comentarios, parece que se está preguntando acerca de los ejecutables independientes. Es decir. si un usuario ha descargado un archivo zip que contiene una aplicación, lo extrajo directamente a la carpeta de Descargas (es decir, no en ~ / Downloads / Program /).
Suponiendo que una dll cargada se encuentre en el mismo directorio, si se reemplaza con una copia maliciosa, es probable que el archivo ejecutable lo cargue sin darse cuenta. Existen mecanismos, como la firma, para evitar este riesgo. También vale la pena señalar que no es posible reemplazar el archivo de la mayoría de los navegadores convencionales sin el consentimiento del usuario. Sin mencionar si puedes reemplazar la biblioteca, ¿por qué no puedes simplemente reemplazar el exe?
Cuando un ejecutable intenta cargar una biblioteca si no se proporciona una ruta / manifiesto explícito, el sistema buscará una lista de posibles ubicaciones en un orden algo estandarizado. Esto se documenta para las ventanas aquí: enlace
Si, por algún motivo, un ejecutable intenta cargar una DLL compartida que no es del sistema con la que no se incluye, entonces puede haber un mayor riesgo. El directorio en el que se encuentra el ejecutable generalmente sería la primera ubicación de búsqueda. Esto significa que si este DLL se inyecta en el directorio de descargas, entonces será recogido. Supongo que un ejemplo podría ser un programa que solo ofrece ciertas características si se instala otro paquete de software; por ejemplo, ofrece la integración de Microsoft Work si Office está instalado.