自己解凍型exeからZIPを抽出する方法は?


18

まあ、主題はそれをすべて言います。SFXであるexeがあり、SFXからZIPを抽出したい。どうやってやるの?

回答:


16

7-Zipはこれを行うことができるはずです。ファイルを右クリックして[アーカイブを開く]を選択するか、7-Zip内のファイルに移動して右クリックして[内部で開く]を選択します。


@Darcs:zipはパスワードで暗号化されているため、アーカイブを開くことができません。ちょうど解凍することなく、exeからzipを抽出したいだけです。
TCS

自分のファイルで機能するかどうかはわかりませんが、拡張子を.exeから.zipに変更するだけでうまくいくようです。ファイルの実行可能部分は引き続き含まれますが、7-Zipは無視しても問題ありません。
Dracs

7-zipが開いて認識されますが、ファイル内のexe部分は必要ありません(純粋なzipファイル、ヘッダーはPKであり、exeのようなMZではありません)。
TCS

1
16進エディターを使用してこれを行うことができました。プレーンなzipファイルと編集されたSFXは同一です。私がやったプロセスは、SFXでzipファイルのヘッダーを探すことでした。7-Zipの場合、これは紀元前37 7Aのようです。最後に発生したものを検索しました。それから、それ以前のすべてを削除しました。これは、テストファイルを単独で圧縮するのと同じファイルを私に与えるようです。16進エディタが必要な場合は、XVI32を使用しました。それがあなたのために働くか、またはあなたがもう助けを必要とするかどうか私に知らせてください。
Dracs

1
適切なZIP形式のアーカイブの場合、データを見つける正しい方法は、4バイトのマジック番号で中央ディレクトリヘッダーを見つけ、中央ディレクトリを読み取って最初のファイルヘッダーを見つけることです。
JdeBP

8

Linuxでは、「zip」ユーティリティで可能です。

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

警告:次の行は、元の.exeファイルを変更して、exeパーツのない純粋なzipアーカイブにします!

$ 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

Linuxでは、それが頑固なものであり、

zip -J file.exe

zip以外の部分は単に先頭に付加されないため、抽出可能なzipに変換しません。マニュアルページを参照してください。

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

zipユーティリティには、他に2つの便利なオプションがあります。

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

やってみて

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

そしてそれが失敗した場合

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

1

これを実行できないzip操作プログラムはまだありません。自己解凍アーカイブも有効なzipファイルであり、余分なものがたくさんあります(抽出機能)。

ファイルを開く方法としてユーティリティを選択することはできませんが、ユーティリティを実行してからファイルを選択するだけで機能する場合があります。


Windowsのデフォルトのビルトイン「圧縮フォルダ」ユーティリティでどのように行いますか?
カウリネーター

@cowlinatorわかりません。ずっと前に、組み込みのハンドラーのバグが見つかりました。それ以来、使用しようとしませんでした。
ローレンペクテル

0

内部ファイルにアクセスする場合は、WinZipでSFXファイルを開くことができます。ファイルを実行する必要はありません。

他のさまざまな圧縮ユーティリティもSFXファイルを開くようです。


ファイルを解凍したくない(パスワードで保護されている)ので、exeからzipを抽出したいだけです。
TCS

それはあなたのためにそれを行います。WinZipので開き、そしてsomething.zipとしてアーカイブ保存
ロリー・オールソップ

0

同様の問題、SFX実行可能ファイルがありました。これは基本的にexeを実行し、アーカイブ内のファイルを実行できるようにします。7zipでexeを開くと、パスワードで保護されています。解決策を探しましたが、パスワードを何らかのヘッダーに保存する必要があります...このスレッドを読んでいるときに、別の解決策がありました。

exeを実行してから、C:\ windows \ tempの日付でソートし、exeが抽出されたフォルダーを見つけます。zip内にファイルがあります。それらを取り出して、それらを再び圧縮します。ビオラ!exeのzip、sansパスワードがあります。


0

gog.comゲームを扱っている場合は、Innoextractを使用してくださいunzipunrar、7zipをと他の人が私のために動作しませんでした。


他のzipプログラムはGOGファイルで動作しませんか?GOGファイルは自己解凍型ですか?
music2myear
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.