Cómo prevenir el secuestro de DLL
El secuestro de DLL utiliza el método de búsqueda de ruta de archivos DLL desconocidos en el sistema para hacer que el programa cargue el archivo DLL del sistema con el mismo nombre en el directorio actual. Por lo tanto, puede indicar la ubicación de la DLL del sistema y cambiar el orden de carga de la DLL del sistema para que no se cargue en el directorio actual, sino que se busque directamente en el directorio del sistema.
Esta idea se puede realizar modificando el registro.
En la clave de registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\KnownDLLs
Es el directorio de búsqueda principal para llamar a las DLL del sistema. Por ejemplo, si hay una entrada de tipo RE_SZ "ntdll"="ntdll.dll", entonces el sistema cargará "ntdll" directamente desde el directorio del sistema en el momento de la carga.
Agregar "LPK"="LPK.DLL " evita que LPK sea secuestrado, así como otros archivos DLL (como "USP10").
En Windows NT, XP incluye sólo unas pocas DLL críticas en esta clave de forma predeterminada, mientras que Win7 incluye un conjunto completo de estas claves, por lo que la probabilidad de secuestro de DLL es mucho menor en Win7 que en XP.