Malware
  • La Biblia del Desarrollo de Malware para Windows
  • Introducción al Malware
    • ¿Qué es el Malware?
    • La Historia del Malware
    • Clasificación del Malware
    • Métodos de Distribución del Malware
  • Los Malwares Más Impactantes de la Historia
    • Stuxnet: El Malware que Destruyó una Planta Nuclear
    • Pegasus: El Malware Espía de Nivel Estatal
  • Introducción al Desarrollo de Malware
    • Herramientas y Lenguajes Más Comunes en el Desarrollo de Malware
    • Lenguajes Recomendados para el Desarrollo de Malware
    • Binarios Famosos de Windows y sus Lenguajes de Desarrollo
    • Fundamentos de compilacion
    • Nuestro primer "Malware"
    • Malware: Del Disco a la Memoria
  • APIs de Windows
    • Windows Internals
    • Windows on Windows (WOW)
    • Bibliotecas DLL en la Tecnología WOW64
    • Win32 APIs: El Corazón del Desarrollo de Software en Windows
      • Componentes Clave de las Win32 APIs
      • Cómo Funcionan las Win32 APIs y su relacion con el Malware
      • Uso de Win32 con C#
    • Kernel32.dll: La Biblioteca Fundamental en el Sistema Operativo Windows
      • VirtualAlloc en C#: Asignación y Gestión de Memoria
      • RtlMoveMemory: Copia de Memoria en Windows
      • CreateThread en C#: Creación y Manejo de Hilos
    • AllocationType y MemoryProtection
    • Windows Registry
  • Shell Reverse
    • Fundamentos de reverse shell
    • Desarrollando Nuestro Primer Simple Reverse Shell via TCP
      • C#
      • PowerShell
      • Python
Powered by GitBook
On this page
  • ntdll.dll: Interfaz entre Aplicaciones y el Núcleo del Sistema
  • wow64.dll: Emulación y Redirección de Llamadas del Sistema
  • wow64win.dll: Redirección de API y Compatibilidad de Arquitecturas
  • wow64cpu.dll: Traducción de Instrucciones y Gestión de la CPU
  1. APIs de Windows

Bibliotecas DLL en la Tecnología WOW64

ntdll.dll: Interfaz entre Aplicaciones y el Núcleo del Sistema

ntdll.dll es una de las bibliotecas más importantes del sistema operativo Windows, ya que contiene una gran cantidad de funciones esenciales que interactúan directamente con el núcleo (kernel) de Windows. Este archivo DLL actúa como puente entre las aplicaciones y el sistema operativo, proporcionando acceso a funciones de bajo nivel como manejo de excepciones, gestión de procesos, acceso a archivos y memoria, y más.

  • Función en WOW64: En el contexto de WOW64, ntdll.dll es responsable de coordinar la ejecución de aplicaciones de 32 bits en sistemas de 64 bits. Esto se logra a través de la redirección de llamadas. Mientras que las aplicaciones de 32 bits invocan funciones del sistema, ntdll.dll las redirige de manera apropiada a las versiones de 64 bits o las emula si es necesario.

  • Importancia: Sin ntdll.dll, la capacidad de interactuar con el sistema operativo de manera eficiente en ambos entornos (32 y 64 bits) sería limitada, y las aplicaciones de 32 bits podrían no funcionar correctamente. Este archivo DLL facilita la compatibilidad, garantizando que las aplicaciones de 32 bits puedan acceder a los recursos del sistema de manera coherente.

wow64.dll: Emulación y Redirección de Llamadas del Sistema

wow64.dll es otra pieza clave en la tecnología WOW64. Esta biblioteca se encarga de gestionar la emulación de las API de 32 bits en un entorno de 64 bits. En un sistema de 64 bits, las aplicaciones de 32 bits no pueden acceder directamente a las API de 64 bits, ya que estas están diseñadas para ser ejecutadas en un entorno de 64 bits. wow64.dll actúa como una capa intermedia que traduce y redirige las llamadas del sistema.

  • Función en WOW64: Este archivo DLL intercepta las llamadas del sistema hechas por aplicaciones de 32 bits y las redirige a las versiones adecuadas de 64 bits de las funciones del sistema operativo. En algunos casos, también puede realizar emulación de instrucciones para garantizar que las aplicaciones funcionen correctamente en el entorno de 64 bits.

  • Importancia: wow64.dll es crucial porque sin él, las aplicaciones de 32 bits no podrían acceder a los recursos del sistema de 64 bits. Este archivo hace posible que ambas arquitecturas convivan y trabajen juntas en un mismo sistema operativo.

wow64win.dll: Redirección de API y Compatibilidad de Arquitecturas

wow64win.dll trabaja junto con wow64.dll para proporcionar funcionalidades adicionales necesarias para garantizar que las aplicaciones de 32 bits puedan funcionar correctamente en un sistema de 64 bits. wow64win.dll se centra en la redirección de las llamadas a las APIs de 64 bits y la adaptación de estas funciones para que puedan ser utilizadas por aplicaciones de 32 bits.

  • Función en WOW64: Esta biblioteca se encarga de redirigir las llamadas a las API de 64 bits (típicamente en system32) a las versiones correctas de 32 bits, presentes en la carpeta sysWOW64. Esencialmente, garantiza que las aplicaciones de 32 bits puedan hacer uso de las funcionalidades de 64 bits sin tener que preocuparse por las diferencias de arquitectura.

  • Importancia: wow64win.dll es crucial para lograr la compatibilidad completa entre las aplicaciones de 32 bits y las de 64 bits. A través de este archivo DLL, las aplicaciones pueden ejecutar tareas del sistema que normalmente estarían fuera de su alcance debido a la diferencia en arquitecturas.

wow64cpu.dll: Traducción de Instrucciones y Gestión de la CPU

wow64cpu.dll se encarga de traducir las instrucciones de 32 bits a 64 bits a nivel de la CPU. Mientras que wow64.dll y wow64win.dll gestionan las interacciones a nivel de las API, wow64cpu.dll se ocupa de garantizar que las instrucciones de CPU de 32 bits puedan ejecutarse correctamente en una arquitectura de 64 bits.

  • Función en WOW64: Esta biblioteca asegura que el código de 32 bits pueda ser interpretado correctamente en una arquitectura de 64 bits. La traducción de las instrucciones de la CPU es fundamental para que las aplicaciones de 32 bits funcionen sin problemas en un sistema de 64 bits, ya que los conjuntos de instrucciones de ambas arquitecturas son diferentes.

  • Importancia: wow64cpu.dll es esencial para la compatibilidad a nivel de hardware. Asegura que los programas de 32 bits puedan ejecutarse en sistemas de 64 bits sin generar fallos o comportamientos indeseados debido a incompatibilidades a nivel de CPU.

PreviousWindows on Windows (WOW)NextWin32 APIs: El Corazón del Desarrollo de Software en Windows

Last updated 5 months ago