¿Cómo extraer ZIP de exe autoextraíble?


18

Bueno, el tema lo dice todo. Tengo un exe que es un SFX, y quiero extraer el ZIP del SFX. ¿Cómo puedo hacer eso?

Respuestas:


16

7-Zip debería ser capaz de hacer esto. Puede hacer clic derecho en el archivo y seleccionar "Abrir archivo" o navegar al archivo dentro de 7-Zip y hacer clic derecho y seleccionar "Abrir adentro".


@Darcs: No puedo abrir el archivo porque el zip está encriptado con contraseña. Solo quiero extraer el zip del exe, sin descomprimir en el medio.
TCS

No puedo decir si funcionará para su archivo, pero simplemente cambiar la extensión de .exe a .zip pareció funcionar bien para mí. Todavía contendrá las partes ejecutables del archivo, pero 7-Zip parece perfectamente feliz de ignorarlo.
Dracs

7-zip se abrirá y lo reconocerá, pero no quiero la parte exe en el archivo (simplemente archivo zip, que su encabezado es PK, y no MZ como un exe).
TCS

1
He logrado hacer esto usando un editor hexadecimal. El archivo zip simple y el SFX editado son idénticos. El proceso que hice fue buscar el encabezado del archivo zip en el SFX. Para 7-Zip esto parece ser 37 7A BC, hice una búsqueda de la última aparición. Luego borré todo lo anterior. Esto parece darme un archivo idéntico a comprimir mi archivo de prueba por sí mismo. Si necesita un editor hexadecimal, utilicé XVI32 . Avíseme si funciona para usted o si necesita más ayuda.
Dracs

1
Si es un ZIParchivo de formato adecuado , la forma correcta de ubicar los datos es ubicar el encabezado del directorio central por su número mágico de cuatro bytes y leer el directorio central para encontrar el primer encabezado del archivo.
JdeBP

8

En Linux es posible con la utilidad "zip":

$ file london_f.exe
london_f.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit

Advertencia: ¡La siguiente línea cambia el archivo .exe original para convertirlo en un archivo zip puro sin las partes exe!

$ zip -J london_f.exe
$ file london_f.exe
london_f.exe: Zip archive data, at least v1.0 to extract
$ zip --version
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.
...

2

En Linux, si es terco y

zip -J file.exe

no lo transforma en un zip extraíble porque la parte no zip no solo está antepuesta, vea la página del manual:

   -J
   --junk-sfx
          Strip any prepended data (e.g. a SFX stub) from the archive.

entonces la utilidad zip tiene otras dos opciones útiles:

   -F
   --fix
   -FF
   --fixfix
          Fix the zip archive. The -F option can be used if some portions of the archive are missing, but requires a reasonably intact  central  directory.   The
          input archive is scanned as usual, but zip will ignore some problems.  The resulting archive should be valid, but any inconsistent entries will be left
          out.

          When doubled as in -FF, the archive is scanned from the beginning and zip scans for special signatures to identify the limits between the archive  mem‐
          bers. The single -F is more reliable if the archive is not too much damaged, so try this option first.

          If  the  archive is too damaged or the end has been truncated, you must use -FF.  This is a change from zip 2.32, where the -F option is able to read a
          truncated archive.  The -F option now more reliably fixes archives with minor damage and the -FF option is needed to fix archives where -F  might  have
          been sufficient before.

          Neither  option  will recover archives that have been incorrectly transferred in ascii mode instead of binary. After the repair, the -t option of unzip
          may show that some files have a bad CRC. Such files cannot be recovered; you can remove them from the archive using the -d option of zip.

          Note that -FF may have trouble fixing archives that include an embedded zip archive that was stored (without compression) in the archive and, depending
          on the damage, it may find the entries in the embedded archive rather than the archive itself.  Try -F first as it does not have this problem.

          The format of the fix commands have changed.  For example, to fix the damaged archive foo.zip,

                 zip -F foo --out foofix

          tries  to read the entries normally, copying good entries to the new archive foofix.zip.  If this doesn't work, as when the archive is truncated, or if
          some entries you know are in the archive are missed, then try

                 zip -FF foo --out foofixfix

          and compare the resulting archive to the archive created by -F.  The -FF option may create an inconsistent archive.  Depending on what is damaged,  you
          can then use the -F option to fix that archive.

          A split archive with missing split files can be fixed using -F if you have the last split of the archive (the .zip file).  If this file is missing, you
          must use -FF to fix the archive, which will prompt you for the splits you have.

          Currently the fix options can't recover entries that have a bad checksum or are otherwise damaged.

Así que intenta

zip -F file.exe --out extracted.zip

y si eso falla

zip -FF file.exe --out extracted.zip

1

Todavía tengo que ver un programa de manipulación zip que no puede hacer esto. Los archivos autoextraíbles también son archivos zip válidos, solo con un montón de cosas adicionales (el extractor).

Probablemente encontrará que no puede seleccionar la utilidad como una forma de abrir el archivo, pero si simplemente ejecuta la utilidad y luego selecciona el archivo, funciona.


¿Cómo lo haría con la utilidad integrada de "Carpetas comprimidas" de Windows?
cowlinator

@cowlinator No tengo idea. Hace mucho, mucho tiempo encontré el controlador de errores incorporado y no he intentado usarlo desde entonces.
Loren Pechtel

0

Puede abrir un archivo SFX con WinZip si desea acceder a los archivos dentro. No necesita ejecutar el archivo.

Parece que una gama de otras utilidades de compresión también abrirá archivos SFX.


No quiero descomprimir el archivo (está protegido por contraseña), solo quiero extraer el zip del exe.
TCS

Eso lo hará por ti. Abrir en WinZip y guardar el archivo como something.zip
Rory Alsop

0

Tuve un problema similar, un ejecutable SFX, que básicamente ejecuta un exe que luego te permite ejecutar los archivos dentro del archivo. Abrir exe en 7zip muestra que está protegido con contraseña. Busqué una solución, debe almacenar la contraseña en algún tipo de encabezado ... Mientras leía este hilo, se me ocurrió una solución alternativa.

Ejecute el exe, luego verifique C: \ windows \ temp ordenar por fecha y busque la carpeta a la que extrajo el exe, allí están los archivos dentro del zip. Sácalos y vuelve a cerrarlos. ¡Viola! tienes un zip del exe, sin contraseña.


0

Si se trata de juegos de gog.com, use Innoextract . unzip, unrar, 7zip y otros no funcionan para mí.


¿Otros programas zip NO funcionan con archivos GOG? ¿Son los archivos GOG autoextraíbles?
music2myear
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.