web-dev-qa-db-ja.com

Windowsでパスワードで保護されたZipファイルを作成および抽出する7-Zipコマンド?

Mac/Linuxでパスワードで保護されたZipファイルをZip/unzipするには、次を使用します:Zip:

Zip -P password -r encrypted.Zip folderIWantToZip

解凍:

unzip -P password encrypted.Zip

Windowsのコマンドライン上の同等のコマンドは何ですか(7Zipがインストールされていると仮定)?

私は調査を行ってきましたが、Java Zip4jライブラリを使用してパスワード暗号化を行うことはできません。また、WindowsにはMac/LinuxのようなZipコマンドプロンプトがありません

44
user3254893

http://www.dotnetperls.com から:

7z a secure.7z * -pSECRET

どこ:

7z        : name and path of 7-Zip executable
a         : add to archive
secure.7z : name of destination archive
*         : add all files from current directory to destination archive
-pSECRET  : specify the password "SECRET"

開く :

7z x secure.7z

次に、SECRETパスワードを入力します

注:パスワードにスペースまたは特殊文字が含まれる場合は、囲みます単一引用符で囲みます

7z a secure.7z * -p'pa$$Word @|'
76

一般的な構文:

7z a archive_name target parameters

7-Zipディレクトリを確認してください。使用しているリリースによっては、構文で7z7zaに置き換えることができます。

パラメーター:

  • -p暗号化およびPWのプロンプト。
  • -pPUT_PASSWORD_HERE(これは-pを置き換えます)プロンプトなしでPWをプリセットしたい場合。
  • -mhe = onファイル構造を非表示にします。そうしないと、デフォルトでファイル構造と名前が表示されます。

例えば。これにより、PWが要求され、ファイル構造が非表示になります。

7z a archive_name target -p -mhe=on

例えば。プロンプトなし、表示可能なファイル構造:

7z a archive_name target -pPUT_PASSWORD_HERE

等々。 target空白のままにすると、7zは現在のディレクトリで*と見なし、デフォルトでディレクトリを再帰します。

22
thebunnyrules

完全にスクリプト自動化するには:

作成:

7z -mhc=on -mhe=on -pPasswordHere a %ZipDest% %WhatYouWantToZip%

解凍:

7z x %ZipFile% -pPasswordHere

(場合によっては、Set Path = C:\ Program Files\7-Zip;%Path%が必要になる場合があります)

5
FearlessCoward

私は少し遅れているかもしれませんが、現在、パスワードで保護されたZipアーカイブをブルートフォースできるプログラムを開発しようとしています。最初に、インターネットで見つけたすべてのコマンドをcmdを介して抽出しようとしました...しかし、うまくいきませんでした....それを試みるたびに、cmdの出力は、キーが間違っているが正しいことを示しました。現在のバージョンではこの機能を無効にしただけだと思います。

問題を解決するために私がしたことは、古い7Zipバージョン(4.?)をダウンロードし、これを使用してcmdを介して抽出することでした。

これはコマンドです: "C:/ Program Files(86)/old7-Zip/7z.exe" x -pKey "C:/ YOURE_Zip_PATH"

最初の値( "C:/ Program Files(86)/old7-Zip/7z.exe")は、古い7Zipをインストールしたパスでなければなりません。 xは抽出用、-pはパスワード用です。 -pの後ろにスペースを入れずにパスワードを入力してください!最後の値は、抽出するZipアーカイブです。 Zipの抽出先は、cmdの現在のパスになります。次の方法で変更できます:cd YOURE_PATH

ここで、パスワード試行でJavaを介してこのコマンドを実行します。次に、cmdのエラー出力ストリームをチェックし、null->である場合、パスワードは正しいです!

1
JustCoding