7zip: ¿cómo convertir archivos SFX de Linux a SFX de Windows?
Sep 11 2020
Necesito comprimir algunos archivos en archivos que todos puedan abrir con una PC con Windows sin 7zip instalado.
Pensé en correr
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=64m -ms=on -sfx -pXXXXXX "dest-archive.exe" "source-folder/"
pero esto parece crear un binario SFX de Linux (sistema operativo de la máquina host).
¿Es posible crear archivos SFX de Windows desde Linux?
¿Es posible reemplazar el código auxiliar de Linux por uno de Windows en archivos ya creados, sin extraer y archivar nuevamente?
Respuestas
1 Polizi8 Sep 11 2020 at 01:25
No parece distribuirse con el paquete Arch Linux , pero copiar el archivo "C: \ Archivos de programa \ 7-Zip \ 7z.sfx" a mi máquina Linux permitió la creación de archivos SFX de Windows con
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=64m -ms=on -sfx7z.sfx -pXXXXXX "dest-archive.exe" "source-folder/"
Corriendo
cat 7z.sfx old-linux-archive.exe > new-windows-archive.exe
permitido anteponer el stub de Windows al de Linux, sin necesidad de volver a comprimir el archivo:
file old-linux-archive.exe
#old-linux-archive.exe: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e0e81cea3791be68cca1d95da39fbb406b506cd4, for GNU/Linux 3.2.0, stripped
file new-windows-archive.exe
#new-windows-archive.exe: PE32 executable (GUI) Intel 80386, for MS Windows