el misterioso archivo svchost

13
 El misterioso archivo SVCHOST.exe El archivo Svchost.exe se encuentra en la carpeta C:\WINDOWS\system32\svchost.exe  en Windows XP y C:\WINNT\system32\svchost.exe en Windows 2000. Al iniciarse, Svchost.exe comprueba la parte de servicios del Registro para elaborar la lista de servicios que necesita cargar. Se pueden ejecutar múltiples instancias de Svchost.exe al mismo tiempo. Cada sesión de Svchost.exe puede contener un conjunto de servicios, para que se puedan ejecutar servici os autó nomos, en función de cómo y cuándo se inició Svchost.exe. Esto permite un control mejor y una depuración más sencilla. Los grupos Svchost.exe están identificados en la siguiente clave del Registro: HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svcho st Cada valor contenido en esta clave representa un grupo Svchost distinto y se muestra como un ejemplo independiente cuando se consultan los procesos activos. Cada valor es un valor REG_MULTI_SZ que contiene los servicios que se ejecutan en el grupo Svchost. Cada grupo Svchost puede contener uno o varios nombres de servicio que se extraen de la siguiente clave del Registro, cuya clave Parámetros contiene un valor ServiceDLL: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\  Nombre del Servicio Por esta razon, suele aparecer varias veces en la lista de p rocesos en ejecucion. Para ver la lista de servicios que se e jecutan en Svchost y los otros procesos: 1. Haga clic en el botonInicio en la barra de tareas de Windows y, a continuación, en Ejecutar. 2. En el cuadro d e diálogo Abrir, escriba CMD y, a continuación, presione la t ecla Enter. 3. Ahora en la ventana de la consola de comandos, escriba: Tasklist /SVC ... y a continuación, presione Enter. Te aparecerá un listado de los procesos activos y los servicios del sistema asociados con dichos procesos "si los hay" (en caso contrario muestra N/D, no disponible). Tasklist muestra una lista de los procesos activos. El modificador /SVC muestra la lis ta de servicios activos para cada proceso.

Upload: willoe-tamani

Post on 06-Jul-2015

341 views

Category:

Documents


0 download

TRANSCRIPT

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 1/13

 

El misterioso archivo SVCHOST.exe 

El archivo Svchost.exe se encuentra en la carpeta C:\WINDOWS\system32\svchost.exe 

en Windows XP y C:\WINNT\system32\svchost.exe en Windows 2000.

Al iniciarse, Svchost.exe comprueba la parte de servicios del Registro para elaborar la listade servicios que necesita cargar. Se pueden ejecutar múltiples instancias de Svchost.exe al

mismo tiempo. Cada sesión de Svchost.exe puede contener un conjunto de servicios, paraque se puedan ejecutar servicios autónomos, en función de cómo y cuándo se inició

Svchost.exe. Esto permite un control mejor y una depuración más sencilla.

Los grupos Svchost.exe están identificados en la siguiente clave del Registro:

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svcho

st 

Cada valor contenido en esta clave representa un grupo Svchost distinto y se muestra comoun ejemplo independiente cuando se consultan los procesos activos.

Cada valor es un valor REG_MULTI_SZ que contiene los servicios que se ejecutan en el

grupo Svchost. Cada grupo Svchost puede contener uno o varios nombres de servicio quese extraen de la siguiente clave del Registro, cuya clave Parámetros contiene un valor 

ServiceDLL:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ Nombre del Servicio 

Por esta razon, suele aparecer varias veces en la lista de procesos en ejecucion.

Para ver la lista de servicios que se ejecutan en Svchost y los otros procesos:

1.  Haga clic en el botonInicio en la barra de tareas de Windows y, a continuación, en

Ejecutar.

2.  En el cuadro de diálogo Abrir, escriba CMD y, a continuación, presione la teclaEnter.

3.  Ahora en la ventana de la consola de comandos, escriba:

Tasklist /SVC 

... y a continuación, presione Enter.

Te aparecerá un listado de los procesos activos y los servicios del sistema asociados condichos procesos "si los hay" (en caso contrario muestra N/D, no disponible).

Tasklist muestra una lista de los procesos activos. El modificador /SVC muestra la lista de

servicios activos para cada proceso.

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 2/13

 

Si tienes Windows XP Professional y quieres obtener más informacion sobre los servicios

que el proceso SVCHOST está ejecutando en estos momentos haz esto:

1.  Haga clic en el botonInicio en la barra de tareas de Windows y, a continuación, en

Ejecutar.

2. 

En el cuadro de diálogo Abrir, escriba CMD y, a continuación, presione la teclaEnter.

3.  Ahora en la ventana de la consola de comandos, escriba:

tasklist /svc /fi "imagenameeq svchost.exe" 

... y a continuación, presione Enter.

En este caso se mostrarán sólo los procesos SVCHOST.exe y sus servicios asociados.

Y la respuesta a la típica pregunta de si hay que cerrar o eliminar el proceso SVCHOST, NO! no hay que tocarlo, este programa es importante para estabilidad y seguridad de su

sistema y no deberia ser terminado.

Uso de recursos del sistema

Uso de memoria: 

SVCHOST.EXE puede llegar a ocupar hasta unos 60MB de la memoria de sistema.SVCHOST.EXE puede aparecer listado en la lista de procesos muchas veces por cada

servicio que éste tenga activos.

Uso de procesador: 

El uso de procesador por parte de SVCHOST.EXE no debe ser mas de 20% en algunoscasos, (en mi caso personal en este momento solo un 0%) éste uso de CPU no debe ser 

 permanente, o sea no debe ocupar CPU en todo momento a menos que en tu sistema se estéejecutando alguna aplicacion de red crítica que siginifique el uso de todos estos recursos en

todo momento, si no es así, sospecha de que estas siendo atacado externamente por algun bicho que aprovecha la vulnerabilidad RPC. (más abajo) 

SVCHOST, los puertos que abre y su configuracion con Firewalls

Como vimos anteriormente, SVCHOST.exe puede aparecer varias veces cargado en el

sistema, de hecho, mientras escribo éste artículo, SVCHOST.exe aparece en la lista de procesos 6 veces, ocupando algo así como 45MB de memoria, este aparece cargando los

servicios DcomLaunch, TermService, RpcSs,AudioSrv, Browser, CryptSvc, Dhcp,dmserver, ERSvc, EventSystem, FastUserSwitchingCompatibility, helpsvc, HidServ,

lanmanserver, lanmanworkstation, Netman, Nla, rasAuto, RasMan, Schedule, seclogon,SENS, SharedAccess, ShellHWDetection, Tapisrvc, Themes, trkWks, winmgmt, wscsvc,

wuauserv, WZCSVC, LmHosts, SSDPSRV, upnphost, WebClient, stisvc y HTTPFilter, pero, como si fuera poco, si tienes un Firewall, y alguna vez has visto listados los puertos

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 3/13

 

que el proceso SVCHOST.exe tiene para sí, encontraras que SVCHOST.exe es el

responsable de tener abiertos varios puertos del sistema.

"  SVCHOST.exe no solo es el responsable de cargar varios servicios,

tambien abre numerosos puertos de conexion a nuestro sistema."  

En mi caso, SVCHOST.exe tiene abiertos los siguientes puertos:

Con protocolo TCP: 135 y 2869

Con protocolo UDP: 53, 1035, 1036, 1900, 2030 y 3031

Cuando estes en busca de procesos maliciosos como Adware, software espía, etc, puedes

confiar en que los puertos abiertos relacionados con SVCHOST.exe no han sido abiertoscon mala intencion. Claro que ataques externos en contra de esos puertos (por ejemplo:

Ataques a Llamadas a Procedimiento Remoto RPC "call²RPC²attacks" en contra del puerto 135) no se pueden descartar.

En el mundo de los Firewalls, al proceso del archivo SVCHOST.exe, se le conoce como

[GENERIC HOST PROCESS FOR WIN32 SERVICES].

La mayoría de los Firewalls traen reglas predefinididas cuando las conexiones son desalida, pero cuando hay peticiones entrantes, toca definir dos reglas:

Si el protocolo es TCP 

Si la conexion es de tipo ENTRADA 

BLOQUEAR  

Si el protocolo es UDP 

Si la conexion es de tipo ENTRADA 

BLOQUEAR  

Hay casos raros, muy raros... en que las reglas predefinidas de conexiones de salida no son

suficientes, si este es su caso, (si experimenta momentos en que el Firewall le preguntasobre que una aplicacion solicita conexion de salida usando protocolo TCP), convendría

definir esta regla:

Si el protocolo es TCP Si la conexion es de tipo SALIDA 

BLOQUEAR  

Ataques a tu sistema mediante RPC

El Proceso ó Archivo SVCHOST consume 100% CPU

Si experimentas problemas de lentitud, y notas que el proceso SVCHOST.exe está

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 4/13

 

consumiendo recursos de CPU de forma excesiva y sin control, es muy probable que estes

siendo objeto de ataques mediante la vulnerabilidad conocida del RPC.

Mediante dicha vulnerabilidad, existen y continuan apareciendo infinidad de bichos queaprovechan este agujero para insertarse en tu sistema y empezar a hacer todo tipo de

travesuras, bicho que normalmente se conoce como msblaster o alguna mutacion.

Si crees estar siendo víctima del MS Blaster o alguna de sus miles de mutaciones:

Inmediatamente ve descargando e instalando los dos parches para el Agujero del LSASS yel RPC/DCOM

Cuando los instales, reinicias, te conectas a Internet y compruebas si el uso de CPU del

archivo SVCHOST.EXE es ahora normal. Si no lo es, y notas que continua igual que antes,entonces publica el registro detallado de las aplicaciones de tu sistema usando la aplicacion,

HIJACKTHIS.

IMPORTANTE:

Si lo que tienes es el gusano, con el antivirus NO BASTA, tienes que parchear el error (con

el parche RPC, que corrige el agujero de una vez por todas) porque existen infinidad de bichos que aprovechan ese agujero pero que utilizan otro nombre, por lo que si el Antivirus

no es tan potente, desconocerá las nuevas mutaciones.

Para tener claro...

y  El archivo se llama SVCHOST.exe, no confundir con virus que se hacen llamar 

SVHOST.exe o SVCSHOST.exe, etc.y  Este archivo SVCHOST.exe sólo debe aparecer en Windows 2000 y XP.

y  Su ubicaciondebeser C:\WINDOWS\system32\svchost.exe en Windows XP yC:\WINNT\system32\svchost.exe en Windows 2000.

y   No importa si SVCHOST.EXE aparece repetido varias veces en la lista de procesos,esto es normal.

y  SVCHOST.EXE puede llegar a ocupar hasta unos 60MB de la memoria de sistema.Solo preocúpate si el uso de procesador por parte de SVCHOST.EXE es excesivo,

no debe ser mas de 20% en algunos casos. (en mi caso personal solo un 1%) El usodel CPU es aleatorio y circunstancial, no debe ocupar CPU en todo el momento, si

es así, sospecha de que estas siendo atacado externamente por algun bicho queaprovecha la vulnerabilidad RPC

Qué es y para que sirve el archivo Pagefile.sys

Este archivo es muy especial y lo usa Windows para almacenar temporalmente datos los

cuales son intercambiados entre la memoria RAM y éste, con el fin de disponer de un bloque mas grande de memoria, a ésta se le conoce como MEMORIA VIRTUAL 

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 5/13

 

El nombre del archivo es pagefile.sys y se crea en el momento de la instalación de

Windows en la unidad raiz (normalmente C:\) donde se encuentra el boot del sistema y susatributos son de oculto.

El archivo pagefile.sys normalmente no se deberia poder ver en el explorador de Windows,

a menos que hayas desactivado la opcion "O

cultar archivos protegidos del sistema".

El tamaño de archivo pagefile.sys normalmente es 1.5 veces mas grande que la memoriaRAM del sistema. (Por ejemplo, si tienes 1GB de RAM, el archivo deberia pesar algo como

1.5GB, si tienes 256MB, el archivo deberia pesar algo como 384B, y así, etc.) 

Como optimizar y cual es la mejor ubicacion del archivo Pagefile.sys

Algunos tips que deberias tener en cuenta para manejar mucho mejor ese archivo:

1.  Evite crear o tener un archivo pagefile.sys en el mismo disco duro donde se

encuentran los archivos del sistema operativo.Esto se logra teniendo dos discos duros, si tienes Windows en C:\, puedes

configurar un solo archivo pagefile.sys ubicado en la primera particion del segundodisco duro, por ej: D:\

2.   No crees archivos pagefile.sys en varias particiones en el mismo disco duro, solonecesitas crear una rchivopagefile.sys en una sola particion.

3.   No crees archivos pagefile.sys en discos duros espejo (backup) ó en particionesRAID-5

Así pues bastará con crear únicamente un archivo pagefile.sys en el sistema.

Como crear ó establecer un archivo pagefile.sys?

Se puede configurar individualmente un archivo pagefile.sys en cada unidad que deseemos

como se indica a continuación:

1.  Click derecho sobre "Mi PC" y Click en "Propiedades"

ó Click en el boton "Inicio" >Click en "Panel de Control" > Doble Click en el icono"Sistema"

2.  Ahora click en la pestaña "O pciones avanzadas" (Windows XP) | ó "Avanzado"(Windows 2000)

3.  Debajo de la seccion "Rendimiento" click en el boton "Configuracion" (WindowsXP) | ó click en "O pciones de rendimiento" (Windows 2000)

4.  Ahora click en la pestaña "O pciones avanzadas" (Sólo Windows XP)5.  En la seccion "Memoria virtual" click en el boton "Cambiar"

6.  Como deciamos anteriormente, recomendamos un solo archivo pagefile.sys.Asegúrate de que solo se haya configurado un archivo pagefile.sys:

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 6/13

 

En la parte de arriba aparecen listadas las unidades de disco disponibles, para ver si tienen

un archivo pagefile.sys configurado, bastara con seleccionar una unidad, y ver si algunas delas siguientes opciones estan marcadas (Windows XP):

[] Tamaño personalizado (Manualmente puedes configurar el tamaño del archivo

pagefile.sys en la unidad seleccionada)[] Tamaño administrado por el sistema (Se configura automaticamente) Recomendado! 

[] Sin archivo de paginación (La unidad de disco seleccionada no tiene el archivopagefile.sys)

En Windows 2000, solo está disponible la opcion de establecer manualmente el mínimo y

el máximo.

Removiendo / Eliminando un archivo Pagefile.sys 

En WindowsXP, si quieres modificar esto, por ejemplo, remover ó borrar el archivo

pagefile.sys de C:, marca la unidad C:, a continuacion selecciona la opcion [] Sin archivode paginación y finalmente click en el boton "Establecer"

Windows quitará el archivo "pagefile.sys" de la unidad seleccionada en el siguientereinicio.

En Windows 2000, para remover ó borrar el archivo pagefile.sys de C:, marca la unidad C:,

a continuacion entra los valores "0" a cada una de las casillas, de Tamaño inicial y tamañoMáximo y finalmente click en el boton "Establecer"

Windows quitará el archivo "pagefile.sys" de la unidad seleccionada en el siguiente

reinicio.

 Nota: En windows 2000, si NO existe archivo de paginación, te saldrá una ventana de avisoavisándote esto en cada reinicio.

Pagefile.sys

Estableciendo un archivo Pagefile.sys 

Para crear un archivo "pagefile.sys", por ejemplo, en D:, marca la unidad D:, a

continuacion selecciona la opcion [] Tamaño administrado por el sistema y finalmenteclick en el boton "Establecer"

Windows creará el archivo "pagefile.sys" en la unidad seleccionada en el siguiente reinicio.

 Nota: No se recomienda establecer un tamaño personalizado manualmente, a menos quesepa lo que hace.

P A R A T E N E R E N C U E N T A 

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 7/13

 

Por lo general, Windows solo configura un archivo de paginación pagefile.sys por cada

unidad de disco duro. Así que si nuestra unidad de disco tiene dos o mas particiones,Windows sólo crea un archivo pagefile.sys normalmente en la primera particion, ej: C:\

Si tienes dos discos duros, Windows creará otro archivo pagefile.sys en la primer particion

del segundo disco duro, y así sucesivamente.

Mi sistema puede funcionar sin un archivo pagefile.sys?

Respuesta sencilla 

Hmmm, la respuesta es SI. SI, si tu sistema posee la suficiente memoria RAM como parano preocuparte cuando estes ejecutando el máximo de aplicaciones y realizando la mayor 

cantidad de tareas en un dia de maximo trabajo. Si posees por ejemplo 2GB o mas, puedes probar haber como trabaja tu sistema.

Ahora, como recomendacion profesional, NO, NO

recomiendo que dejes el sistema sinningún archivo pagefile.sys, tu sistema puede llegar a necesitar algo de memoria extra enalgun momento, y al no poder usar la memoria VIRTUAL quizás pueda provocar algún

tipo de crash (congelamiento) del sistema, así que estas advertid@. Muchas cosas dejarande funcionar si lo eliminas y muchos fabricantes crean software basándose en que dicho

archivo existe en el disco duro, y además Windows XP no utiliza el archivo hasta que lonecesita con lo que no obtendrás ningún beneficio eliminándolo.

 Nota: En windows 2000, si NO existe archivo de paginación, te saldrá una ventana de aviso

avisandote esto en cada reinicio.

Respuesta técnica 

Debido a que la Memoria Virtual siempre está en operación, no puede apagarse. Lo cualtraduciria en "decirle al sistema que NO use espacio de archivo de paginación en ningun

momento"

Esto podría provocar un consumo excesivo de memoria RAM. La razon es que cuando los programas piden por un espacio en la memoria virtual, estos normalmente solicitan más

espacio del que normalmente usan - el total podría llegar a algunos cientos de megabytes.Esas direcciones de espacio tienen que asignarse en algun lugar por el sistema. Si existe un

archivo de paginación disponible, el sistema entonces asignará espacio en él a estassolicitudes - pero si no lo hay, entonces asignará espacio en direcciones de la memoria

física RAM, bloqueando el acceso a estas direcciones RAM por parte del sistema (si algun programa necesita RAM, y esta está toda ocupada, pues no se podrá ejecutar el programa)

Así pues, por mas que tengas memoria RAM, es mejor tener disponible memoria virtual.

Puedo ver el tamaño que está usando actualmente el archivo pagefile.sys?

Asegúrate de tener activadas las opciones:

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 8/13

 

 

Ver los archivos ocultos del sistema y las extensiones de archivos en Windows 2000/XP 

1.  Abra una ventana del Explorador de Windows

2.  Click en el menú Herramientas>Opciones de carpeta 

3. 

Click en la pestaña Ver 4.  Ahora busque y marque la opcion "Mostrar todos los archivos y carpetas ocultos"

5.  Ahora más abajo busque la opcion "Ocultar las extensiones para tipos conocidos

de archivo" y desmárquela

6.  Tambien desmarque la opcion "Ocultar archivos protegidos del sistema

operativo"7.  Click en Aceptar 

Ahora ya podrás ver el archivo "pagefile.sys" y el tamaño que tiene. Navega por las

distintas unidades y verifica su existencia.

En que sistemas Windows debería aparecer el archivo pagefile.sys?

En Windows 2000, Windows XP y Windows 2003

Como borrar el archivo Pagefile.sys ?

El archivo pagefile.sys es necesario en el sistema y no deberias intentar borrarlo. Mientras

Windows se esté ejecutando el archivo pagefile.sys está protegido por lo que te será

imposible borrarlo.

Problemas conocidos de Pagefile.sys ?

Síntoma: 

Al iniciar el antivirus (nod32) sale el error: "C:\pagefile.sys - Error abriendo archivo (El

archivo esta bloqueado)(4)"

Solución: 

El NOD32 debido a la heurística que posee encuentra el archivo pagefile.sys y lo intenta

escanear, pero al ser un  archivo del sistema, está protegido (y en uso por supuesto) por lo

que le es imposible escanearlo, así que es normal y no hay de preocuparse.

Síntoma: 

El archivo pagefile.sys se ha dañado, posiblemente por un apagado anormal.

Solución: 

Vaya a la configuracion de la Memoria virtual, y fije como "0" o como "Sin archivo de

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 9/13

 

 paginación" en la unidad donde se encuentra el pagefile.sys, entonces acepta y sal de ahí,

apaga el computador y reinicia. Ve a donde se encuentra físicamente el archivo

"pagefile.sys" y bórralo (si existe)(en cada unidad, si existen otras ademas de C:), ahora

vuelve a configurar la memoria virtual (esto creara otro nuevo y correcto pagefile.sys) en

las unidades que elijas.

Windows 98 y ME tienen archivo Pagefile.sys ?

 NO. En Windows 98 y ME, el archivo de intercambio se llama WIN386.SWP y está

localizado en c:\windows\win386.swp 

Sus funciones son las mismas que el pagefile.sys en Windows 2000 y XP.

Recursos:

- L i b r e r í a s D L L-

¿ Qué son los archivos DLL?

Un archivo DLL (Dynamic Library Link) es un módulo componente de un programa que ejecuta

alguna función. Estos archivos DLL son muy útiles, pero también suelen ser causa de errores en

Windows.

Los archivos DLL ejecutan acciones o rutinas de uso frecuente en Windows, y un mismo archivo

DLL puede ser usado por varios programas al mismo tiempo (como el Kernel32.dll). Por ejemplo

el procesador de palabras, la hoja de cálculo y otros programas pueden usar un mismo archivo

DLL para desplegar el cuadro diálogo Abrir, cada vez que usted usa el comando Abrir.

Gracias a ese esquema modular (que tambien se usa en el sistema operativo OS/2), hay muchas

funciones que los creadores de software no tienen que incluir en sus programas; cuando un

programa necesita enviar un documento a la impresora, simplemente llama el archivo DLL

respectivo (que ya Windows instaló) para que este cargue y ejecute la tarea. De esa forma, los

programas son más pequeños y se ahorra espacio en el disco duro.

El hecho de que estos módulos de rutinas (Archivos DLL) no sean parte de programas, sino que se

guardan como archivos independientes, también optimiza el uso de la memoria RAM. Un DLL se

carga en la memoria RAM y se ejecuta únicamente cuando un programa lo llama para que realice

una función, mientras que otros módulos de rutinas que sí hacen parte del programa

permanecen cargados en la memoria mientras trabaja con un programa.

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 10/13

 

Windows incluye muchos archivos DLL que son usados por otros programas (la mayoría en la

carpeta c:\windows\system). Pero algunos programas también instalan sus propios archivos DLL

(y generalmente los colocan en la carpeta del disco duro en la que está guardado dicho

programa).

Observaciones en el manejo de DLL

Como diferentes programas deben compartir los mismo DLL, si algunos programas no respetan

ciertas reglas del juego se pueden producir errores. A veces uno instala programas que colocan

una versión vieja de un archivo DLL en la carpeta c:\windows\system y remplazan -sin avisar- la

versión más reciente del mismo DLL. Al hacer eso, es posible que se produzcan fallas en los

programas que usaban la versión más reciente del DLL.

Nota: En Windows XP no es posible reemplazar un archivo dll del sistema, ya que este se dará

cuenta y automaticamente copiara el DLL correcto de su base de datos, Windows XP se protege

de esta manera para evitar conflictos.

No todos los archivos DLL tienen extensión .dll; tambien hay archivos del mismo tipo con

extensiones .ocx, .exe, .drv, .vxd, etc.

Cuando Windows le muestre un mensaje de error que dice que le falta un DLL, anote el nombre

exacto del archivo (incluyendo la extensión), busque el archivo en cualquiera de los sitios que al

final se recomiendan, bájelo y copiélo en la carpeta en la que lo está buscando el programa que

generó el mensaje de error (probablemente c:\windows\system o la carpeta en la que está

almacenado el programa).

Tenga en cuenta que puede haber versiones diferentes de Archivos DLL, pero con un nombre

idéntico. Se recomienda no remplazar un DLL por una versión más vieja (para saber que versión

tiene un DLL, busque el archivo, dé click derecho sobre él, seleccione propiedades y de click en la

pestaña Versión). Lo mejor es que siempre guarde en un diskette o alguna parte de sus disco

duro el DLL que va a reemplazar (incluso aunque sea de una versión más vieja). Uno nunca sabe

qué programa lo pueda necesitar.

Windows File Protection [WFP]

Windows FIleProtection (WFP) protege los archivos DLL del sistema de ser actualizadas o

borradas por agentes no autorizados. Las aplicaciones no pueden sustituir las DLLs del sistema.

Unicamente los paquetes de actualizacion del sistema operativo com los SP (Service Packs)

pueden hacer esto.

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 11/13

 

Los archivos DLL del sistema que pueden ser unicamente actualizadas por los Service Pack (SP) se

denominan DLLs protegidas. Hay aproximadamente 2800 DLLs protegidas en Windows 2000 y XP.

Si intentamos copiar un archivo DLL identico a uno protegido en el directorio del sistema, el

reemplazo del archivo DLL, aparentemente, parecerá que es correcta y no veremos ningun

mensaje de error. Pero Windows 2000 y XP recuperarán el archivo DLL recientemente copiado

con el archivo DLL original silenciosamente.

WFP elimina completamente los errores de los archivos DLL y además minimiza los problemas

causados por instalación y/o actualización de aplicaciones.

System File Checker (sfc) 

Tip: Para comprobar que los archivos de tu sistema estan en perfecto estado y completos, ejecuta

esta instruccion:

En Windows XP: Ve a Inicio>Ejecutar y escribe esto "sfc /scannow" (sin las comillas).

DLL's Privadas

Las DLLs privadas son DLLs que son instaladas con una aplicación específica y usadassolo por esa aplicación.

Por ejemplo, supongamos que yo soy el responsable de un programa llamada

Wilkinsonpc.exe. Yo he 'testeado' ese programa con una versión x.x de la librería de

Microsoft MSVCRT.DLL y una versión y.y de la SA.DLL (por ejemplo, SA.DLL no esuna DLL de Microsoft, pero es una DLL de terceros distribuida con otras variasaplicaciones). Yo quiero asegurarme que mi programa Wilkinsonpc.exe siempre usará la

MSVCRT.DLL versionx.x y la SA.DLL versiony.y. Para hacer esto, mi instalador del producto copia Wilkinsonpc.exe, MSVCRT.DLL versionx.x y SA.DLL versiony.y en la

carpeta .\Wilkinsonpc. Ademas debo notificar a Windows 2000, que Wilkinsonpc.exedebe utilizar esas DLLs privadas y unicamente esas (esto no es posible con Windows

95/98 ó ME). Cuando Wilkinsonpc.exe se ejecuta en Windows 2000 ó XP, este va a mirar en la carpeta .\Wilkinsonpc para localizar las DLLs de version específica antes de mirar en

las carpetas del sistema y en el path.

Los Service Packs futuros que actualizen al MSVCRT.DLL no harán fallar a la aplicaciondebido a que Wilkinsonpc.exe no utiliza la version compartida de MSVCRT.DLL. Otras

aplicaciones que instalen diferentes versiones de SA.DLL tampoco afectarán aWilkinsonpc.exe debido a que este, tiene su versión privada de SA.DLL.

Las DLLs privadas, se las denomina tambienDLLsunicas, debido a que utiliza una copia

 privada de esa DLL en lugar de la generica. Si ejecuitamos por ejemplos WordPad yWilkinsonpc concurrentemente, dos copias de la MSVCRT.DLL serán cargadas en

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 12/13

 

memoria.

Por tanto, como autores de la aplicación, podriamos registrar cada DLL o componente de

la aplicacion en el directorio de la aplicacion en donde queremos que resida la copia privada.

Existe un segundo metodo que puede ser utilizado en aplicaciones ya existentes.

Supongamos que c:\Wilkinsonpc\Wilkinsonpc.exe es una aplicación existente y que laqueremos proteger de futuras actualizaciones de DLLs o incluso de actualizaciones

debidas a los Service Packs. Simplemente copiamos las DLLs que queremos que sean privadas a Wilkinsonpc.exe a la carpeta .\Wilkinsonpc y creamos un archivo vacio en ese

directorio llamado Wilkinsonpc.exe.local. De esta manerá el sistema sabe que cuandoWilkinsonpc.exe quiera cargar una DLL, debe buscarla siempre primero en donde esté ese

archivo .local y buscará por tanto las DLLs y servidores COM en dicho directorio antesque en el path especifico de Windows.

Ambas soluciones, la version específica (en nuevas aplicaciones) y .local (en viejasaplicaciones) tienen las siguientes caracteristicas:

y  Los archivos DLL que están en el directorio de la aplicación son cargados en lugar de los

archivos DLL del sistema, aún cuando la función "LoadLibrary" de la aplicación tenga el

camino 'hard-coded'.

y  No es posible redirigir la 20 KnownDLLs (conocidas DLLs), que están referenciadas en

HKEY_LOCAL_MACHINE\SYSTEM\CurrentoControlSet\Control\SessionManager\KnownDL

Ls. Estas no pueden rodar independientemente ya que necesitan mantener estados de

procesos cruzados. Por ejemplo: kernel32, user32 y ole32 no pueden ser redirigidas

debido a que tienen estados (objetos del kernel, manejadores de ventanas) que

necesitan existir a lo largo de todos los procesos. En futuras versiones del sistema

operativo estas limitaciones quedarán mas restringidas.

¿ Como Agregar / Instalar o Quitar / Desregistrar archivos .dll ó .ocx ?

Para agregar ciertos archivos .ocx y/o .dll, abra una ventana de comandos

En Windows 98/ME: Vaya a Inicio>Ejecutar escriba esto "command.com" (sin lascomillas)

En Windows NT/2000/XP: Vaya a Inicio>Ejecutar escriba esto "cmd" (sin las comillas)

 Navegue a traves de los directorios hasta llegar a la carpeta que contiene el archivo DLLque desee instalar/registrar o desinstalar/desregistrar.

El siguiente es el comando que necesitaras ejecutar para instalar/registrar:

regsvr32 [nombre.dll] ó [nombre.ocx]

Ejemplo: regsvr32 msvcp60.dll 

5/8/2018 El Misterioso Archivo SVCHOST - slidepdf.com

http://slidepdf.com/reader/full/el-misterioso-archivo-svchost 13/13

 

 

Para desinstalar/desregistrar un archivo DLL u OCX:

regsvr32 /u [nombre.dll] ó [nombre.ocx]

Ejemplo: regsvr32 /u msvcp60.dll