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
  • ¿Qué es Compilar?
  • Flujo de Trabajo de la Compilación:
  • Compilado vs Interpretado
  1. Introducción al Desarrollo de Malware

Fundamentos de compilacion

La compilación es un proceso fundamental en el desarrollo de software, especialmente cuando se trabaja con lenguajes de programación de alto rendimiento o bajo nivel como C, C++, Rust, entre otros. Este proceso implica traducir el código fuente, que es legible por el programador, a un formato que pueda ser entendido y ejecutado por el procesador de una computadora. El resultado de la compilación es típicamente un archivo ejecutable, binario o objeto.

¿Qué es Compilar?

Compilar es el proceso de transformar el código fuente de un programa escrito en un lenguaje de programación de alto nivel (como C, C++, Java, Rust, etc.) a un código máquina o código de bajo nivel que la computadora puede ejecutar. Este proceso es realizado por un compilador.

Flujo de Trabajo de la Compilación:

  1. Escritura del Código Fuente: El programador escribe el código en un lenguaje de programación de alto nivel (por ejemplo, C++ o Rust).

  2. Compilación: El compilador toma el código fuente y lo traduce a código de máquina (en forma de archivos binarios o ejecutables) que el sistema operativo puede ejecutar directamente.

  3. Ejecutar el Programa: Una vez compilado, el archivo ejecutable puede ser lanzado para que el sistema operativo lo ejecute y el programa cumpla su función.

Compilado vs Interpretado

La diferencia entre compilado e interpretado radica en cómo se ejecutan los programas y cómo se traduce el código fuente en instrucciones ejecutables por la máquina. Un programa compilado se traduce completamente a código máquina o bytecode antes de su ejecución, generando un archivo ejecutable que puede correr de manera independiente del código fuente. Este proceso de compilación suele ser más rápido durante la ejecución, ya que el programa ya está completamente optimizado para la máquina. Ejemplos de lenguajes compilados incluyen C, C++ y Rust. Por otro lado, un programa interpretado se traduce línea por línea en tiempo de ejecución por un intérprete, lo que implica que el código fuente debe estar presente cada vez que se ejecute, lo que suele resultar en una ejecución más lenta. Lenguajes como Python, JavaScript y Ruby son ejemplos de lenguajes interpretados. La elección entre uno u otro depende de las necesidades de rendimiento, portabilidad y desarrollo rápido del software.

PreviousBinarios Famosos de Windows y sus Lenguajes de DesarrolloNextNuestro primer "Malware"

Last updated 5 months ago