> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-notes/pruebas-de-penetracion-de-host-y-red/explotacion/exploits/arreglando-exploits/cross-compiling-exploits.md).

# Cross-Compiling exploits

## 💡 ¿Qué es el cross-compiling?

**Cross-compilar** significa compilar código en una plataforma (por ejemplo, Linux) para que funcione en otra (por ejemplo, Windows).

***

## 🧑‍💻 ¿Por qué es importante en pentesting?

🔸 Muchos exploits están escritos en **C, C++ o C#**.\
🔸 Necesitas compilar ese código para convertirlo en un **PE (Portable Executable)** o binario ejecutable en el sistema de destino.

> 🧠 Como pentester, es clave que sepas **compilar exploits escritos en C para Windows desde Linux** u otras plataformas.

***

## 🔧 Herramientas comunes para cross-compiling

* 🐧➡️🪟 **Mingw-w64**: Compila código en Linux para que funcione en Windows.

  ```bash
  x86_64-w64-mingw32-gcc exploit.c -o exploit.exe
  ```
* 🧰 **Clang** con opciones de destino cruzado (`--target`).
* 🧪 **Mono / .NET tools**: Si el exploit está en **C#**, puedes usar herramientas como `mcs` o `msbuild` para compilarlo en sistemas Linux.
