La inyección de código es una técnica muy común en Windows. Las aplicaciones "inyectarán" su propio código en otro proceso en ejecución para cambiar el comportamiento de ese proceso. Esta técnica puede usarse para buenos o malos propósitos, pero de cualquier manera puede causar problemas no deseados. El software antivirus , como el software antivirus , inyecta código en Chrome para modificar su comportamiento. Esto hace que los problemas del navegador se produzcan con mayor frecuencia.
La inyección de código también suele denominarse inyección de DLL porque las piezas de código inyectadas en otros procesos suelen tener la forma de archivos DLL : biblioteca de vínculos dinámicos. Sin embargo, a veces las aplicaciones también pueden inyectar otros tipos de código que no están en forma de archivos DLL en otro proceso.

¿Para qué se utiliza la inyección de código?
La inyección de código se utiliza para realizar todos los trucos y funciones en Windows. La inyección de código es utilizada tanto por software legítimo como por malware, por ejemplo:
- Los programas antivirus suelen insertar scripts en los navegadores web y utilizarlos para monitorear el tráfico de la red y bloquear contenido web peligroso.
- Los programas maliciosos pueden agregar código a su navegador web para rastrear su historial e información de navegación y luego robar información protegida como contraseñas, números de tarjetas de crédito y cambios instalados en su navegador.
- WindowBlinds de Stardock , inyecta código para modificar cómo se abren las ventanas.
- Stardock's Fences inyecta código para cambiar la forma en que funciona Windows.
- AutoHotkey inserta códigos que le permiten crear scripts y asignar teclas de acceso rápido en todo el sistema.
- Los controladores de gráficos como los de NVIDIA envían archivos DLL para realizar una variedad de tareas relacionadas con los gráficos.
- Algunos programas inyectan archivos DLL para agregar opciones adicionales a una aplicación.
- Los tramposos de juegos de PC a menudo inyectan código en los juegos para modificar sus características, dando así a los tramposos una ventaja injusta sobre otros jugadores.
¿La inyección de código es mala?
Esta técnica la utilizan constantemente muchas aplicaciones diferentes en Windows. Es verdaderamente único para realizar una variedad de tareas. En comparación con una plataforma de sistema operativo móvil moderna como iOS de Apple o Android de Google, Windows es mucho más potente porque ofrece esta flexibilidad a los desarrolladores.
Por supuesto, también existen algunos peligros. La inyección de código puede causar problemas y errores en la aplicación. Google dice que los usuarios de Windows que incluyen software que inyecta código en Chrome tienen un 15% más de probabilidades de encontrar errores en Chrome de lo habitual, y es por eso que Google está trabajando para evitar la inyección de código.
Microsoft incluso proporciona instrucciones para que los usuarios puedan verificar si se están cargando archivos DLL de terceros en Microsoft Outlook porque estos archivos causarán muchos problemas en Outlook.
Un empleado de Microsoft compartió sobre este problema en un blog en 2004:
Los archivos DLL inyectados en otras aplicaciones nunca son seguros porque el código ingresa ilegalmente a un proceso que no fue diseñado, construido o probado por el autor de ese proceso. Corre el riesgo de encontrarse con problemas de sincronización o de recursos que nunca antes había encontrado, o estos archivos exacerbarán los problemas existentes en la aplicación.
En otras palabras, la inyección de código es un hack ilegal. Sin embargo, la inyección de código es solo una técnica común que se encuentra hoy en día en la plataforma de aplicaciones de Windows. Se utiliza continuamente en segundo plano en Windows en su PC.
Cómo comprobar los archivos DLL que se han inyectado en la aplicación.
Puede comprobar la inyección de código en su sistema utilizando la aplicación Process Explorer de Microsoft. Básicamente, esta aplicación es una versión mejorada del Administrador de tareas con funciones adicionales necesarias.
Primero descarga y ejecuta Process Explorer. Luego haga clic en Ver > Vista del panel inferior > DLL o presione Ctrl + D.
![¿Qué es la inyección de código en Windows? ¿Qué es la inyección de código en Windows?]()
Seleccione un proceso en el panel superior y observe el panel siguiente para ver qué archivos DLL se están cargando. La columna Nombre de la empresa le proporcionará una forma útil de filtrar esta lista.
Por ejemplo: cuando ve un montón de archivos DLL creados por Microsoft Corporation, esto es completamente normal porque son parte de Windows. Es completamente normal que los archivos DLL que se originan en las empresas matrices de la aplicación se encuentren en esa aplicación (por ejemplo, "Google Inc" en la captura de pantalla siguiente).
Según la imagen a continuación, también podemos detectar algunos archivos DLL creados por "AVAST Software" en esta lista. Esto muestra que la aplicación antispyware Avast en el sistema está inyectando código como "biblioteca de filtros de bloqueo de scripts de Avast" en Chrome.
![¿Qué es la inyección de código en Windows? ¿Qué es la inyección de código en Windows?]()
Incluso si encuentra una inyección de código en su sistema, no hay mucho que pueda hacer, aparte de desinstalar el programa inyectando el código para evitar que cause más problemas. Por ejemplo, si su Chrome falla con frecuencia, puede verificar si algún programa está inyectando código en Chrome y, de ser así, desinstalar esos programas para evitar que interfieran aún más con su progreso.
¿Cómo funciona la inyección de código?
La inyección de código no afecta las aplicaciones subyacentes almacenadas en su disco. En cambio, espera hasta que se inicia la aplicación y luego inyecta código en el proceso en ejecución para cambiar la forma en que opera ese proceso.
Como todos sabemos, Windows contiene una serie de interfaces de programación de aplicaciones (API) que se pueden utilizar para la inyección de código. Un proceso puede adjuntarse a un proceso de destino, asignar memoria, luego escribir una DLL u otro código en esa memoria e indicarle al proceso de destino que ejecute el código. Windows no impide en absoluto que los procesos de su computadora interfieran entre sí de esta manera.
En algunos casos, alguien puede cambiar el código base en la unidad, por ejemplo, reemplazando el archivo DLL que viene con un juego de PC con otro fragmento de código que haya sido modificado, lo que puede hacer trampa en el juego o infringir los derechos de autor. Técnicamente, esto no es una inyección de código porque el código no se inyecta en los procesos en ejecución, sino que el proceso se engaña con otro archivo DLL con el mismo nombre.
Ver más: