Conversión de un ejecutable ELF (Linux) en un PE.exe (Windows)

Conversión de un ejecutable ELF (Linux) en un PE.exe (Windows)

¡¡¡Soy un novato en lo que respecta al uso de archivos de código de máquina!!!

Necesito usar un ejecutable de código de máquina obtenido como ELF (Linux) en un archivo exe para Windows. Probé 'objconv' pero, aunque el formato sugiere usar '-fPE', cuando lo uso, la línea de comando indica 'Error 2004 línea de comando desconocida' y 'Error 2103 no puede leer el archivo de entrada'. Sospecho que existe cierta incompatibilidad entre las plataformas Linus y Windows.

Respuesta1

Aunque el código objeto subyacente puede ser el mismo entre las plataformas, las aplicaciones nativas no triviales no pueden ser compatibles binariamente entre Windows y Linux.

Si el ejecutable de Linux que está intentando convertir está vinculado dinámicamente, requeriría la presencia de bibliotecas que no existen en Windows (puede ver esta lista de bibliotecas ejecutándolas ldd /path/to/programen la máquina Linux).

Incluso si convirtió todas las bibliotecas al formato ejecutable PE o las vinculó estáticamente, el sistema llama alNúcleo NTynúcleo de linuxson completamente diferentes. No existe una correspondencia directa uno a uno entre ellos.

Su mejor opción sería encontrar el código fuente de la aplicación original, si es posible. Si el programa está escrito de forma portátil, puede compilarse tanto en Windows como en Linux. Aunque las llamadas al sistema no son las mismas entre las dos plataformas, un subconjunto de sus implementaciones de biblioteca C tiene un comportamiento estandarizado.

Respuesta2

Es casi seguro que esto no funcionará. Linux y Windows no se llevan bien entre sí. La aplicación que desea "convertir" deberá reconstruirse desde el código fuente para Windows (lo que requerirá parches específicos de Windows). Con un poco de suerte, la aplicación que estás intentando ejecutar ya tiene un puerto de Windows.

Respuesta3

información relacionada