Bagaimana cara mengekstrak ZIP dari exe self-extracting?

18

Nah, subjek mengatakan itu semua. Saya memiliki exe yang merupakan SFX, dan saya ingin mengekstrak ZIP dari SFX. Bagaimana saya bisa melakukan itu?

TCS
sumber

Jawaban:

16

7-Zip harus mampu melakukan ini. Anda dapat mengklik kanan file dan memilih "Open Archive" atau menavigasi ke file dalam 7-Zip dan klik kanan dan pilih "Open Inside".

Dracs
sumber
@ Ark: Saya tidak bisa membuka arsip karena zip dienkripsi dengan kata sandi. Saya hanya ingin mengekstrak zip dari exe, tanpa membuka ritsleting di tengah.
TCS
Tidak bisa mengatakan apakah itu akan berfungsi untuk file Anda, tetapi hanya mengubah ekstensi dari .exe ke .zip sepertinya berfungsi dengan baik untuk saya. Itu masih akan berisi bagian file yang dapat dieksekusi, tetapi 7-Zip tampaknya sangat senang mengabaikannya.
Dracs
7-zip akan terbuka dan mengenalinya, tapi saya tidak ingin bagian exe di file (file zip murni, bahwa header-nya adalah PK, dan bukan MZ seperti exe).
TCS
1
Saya sudah berhasil melakukan ini menggunakan hex editor. File zip biasa dan SFX yang diedit identik. Proses yang saya lakukan adalah mencari header file zip di SFX. Untuk 7-Zip ini sepertinya 37 7A SM, saya melakukan pencarian untuk kejadian terakhir itu. Lalu saya menghapus semuanya sebelum itu. Ini sepertinya memberi saya file yang identik dengan zip file tes saya dengan sendirinya. Jika Anda memerlukan hex editor, saya menggunakan XVI32 . Beri tahu saya jika itu berfungsi untuk Anda atau jika Anda membutuhkan bantuan lagi.
Dracs
1
Jika itu adalah ZIPformat arsip yang tepat, cara yang benar untuk menemukan data adalah dengan menemukan header direktori pusat dengan angka ajaib empat byte dan membaca direktori pusat untuk menemukan file header pertama.
JdeBP
8

Di Linux dimungkinkan dengan utilitas "zip":

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

Peringatan: Baris berikutnya mengubah file .exe asli untuk menjadikannya arsip zip murni tanpa bagian 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.
...
pengguna2771443
sumber
2

Di Linux, jika itu yang keras kepala dan

zip -J file.exe

tidak mengubahnya menjadi zip yang bisa diekstraksi karena bagian non-zip tidak hanya di-prepended, lihat halaman manual:

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

maka utilitas zip memiliki dua opsi bermanfaat lainnya:

   -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.

Jadi coba

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

dan jika itu gagal

zip -FF file.exe --out extracted.zip
Tak seorangpun
sumber
1

Saya belum melihat program manipulasi-zip yang tidak dapat melakukan ini. Arsip ekstraksi sendiri juga file zip yang valid, hanya dengan banyak barang tambahan di dalamnya (ekstraktor).

Anda mungkin akan menemukan bahwa Anda tidak dapat memilih utilitas sebagai cara membuka file tetapi jika Anda hanya menjalankan utilitas dan kemudian pilih file itu berfungsi.

Loren Pechtel
sumber
Bagaimana Anda melakukannya dengan utilitas bawaan "Compressed Folders" bawaan Windows?
cowlinator
@clinlinator Tidak tahu. Lama, lama sekali saya menemukan buggy handler bawaan dan saya belum mencoba menggunakannya sejak itu.
Loren Pechtel
0

Anda dapat membuka file SFX dengan WinZip jika Anda ingin mengakses file di dalamnya. Anda tidak perlu menjalankan file.

Sepertinya berbagai utilitas kompresi lainnya juga akan membuka file SFX.

Rory Alsop
sumber
Saya tidak ingin mendekompres file (dilindungi kata sandi), saya hanya ingin mengekstrak zip dari exe.
TCS
Itu akan melakukannya untuk Anda. Buka di WinZip, dan simpan arsip sebagai sesuatu.zip
Rory Alsop
0

Saya memiliki masalah yang sama, yang dapat dieksekusi SFX, yang pada dasarnya menjalankan exe yang kemudian memungkinkan Anda untuk menjalankan file dalam arsip. Membuka exe di 7zip menunjukkannya dilindungi kata sandi. Saya mencari solusi, itu harus menyimpan kata sandi di beberapa jenis header ... Saat membaca utas ini solusi alternatif terjadi pada saya.

Jalankan exe, lalu periksa C: \ windows \ temp urutkan berdasarkan tanggal dan temukan folder tempat exe diekstraksi, ada file di dalam zip. Keluarkan dan kembalikan ke atas. Biola! Anda memiliki zip dari exe, tanpa kata sandi.

PhilFCS
sumber
0

Jika Anda berurusan dengan game gog.com, gunakan Innoextract . unzip,, unrar7zip, dan lainnya tidak berfungsi untuk saya.

Robert
sumber
Apakah program zip lain TIDAK bekerja dengan file GOG? Apakah file GOG mengekstraksi sendiri?
music2myear