ByteScope

Extract Archive

zip・rar・7z・tar.gzをブラウザだけで解凍 — パスワードはローカルに留まり、危険なパスは入口で止めます。

アーカイブの展開・復号・読み込みはすべてこのタブ内で完了します。データが外部に送信されることはなく、パスワードがページ外に出ることもありません。

ここにアーカイブをドロップ

またはクリックして選択 — zip · 7z · rar · tar · tar.gz · tar.bz2 · tar.xz · tar.zst · gz(7z・rar と bzip2 / xz / zstd 系は初回のみ WebAssembly デコーダーを読み込みます)

ブラウザ対応状況

アーカイブの読み込みと zip ダウンロードは全ブラウザで動作します。フォルダへの直接書き込みは一部環境に限られます。

機能ChromeEdgeFirefoxSafari
zip / tar / tar.gz / gz の読み込み対応対応対応対応
単一ファイルの保存、または zip まとめ保存対応対応対応対応
7z および rar (WebAssembly 版 libarchive)すべてのモダンブラウザで動作します。7z または rar を初めて開く際に約 500 KB のデータを取得します。対応対応対応対応
選択したフォルダへの直接書き込みFile System Access API — デスクトップ版 Chromium のみ対応。Firefox、Safari、Android 版の Chrome / Edge では利用できません。一部対応一部対応非対応非対応
パスワード保護されたアーカイブ入力したパスワードは、zip・7z・rar を復号する WebAssembly エンジンにそのまま渡されます。ただし、実際に暗号化されたアーカイブでの動作確認はまだ行っていません。未検証未検証未検証未検証

お使いのブラウザでの検出結果:

  • showDirectoryPicker 未検証
  • secure context 未検証

このツールについて

zip、7z、rar、tar、tar.gztar.bz2tar.xztar.zst、単体のgzをドロップすると、その場で中身を取り出せます。すべてブラウザ内で完結します。RARと7zは、WebAssemblyにコンパイルしたlibarchive — デスクトップの解凍ツールと同じエンジンで、中途半端なJavaScript移植ではありません — が処理します。中身はファイルツリーとして表示され、1ファイルだけダウンロードする、複数を選んでzipにまとめて保存する、全部を展開する、のいずれもできます。Chromium系ブラウザならFile System Access APIで指定したフォルダに直接書き込めるので、ダウンロードフォルダを経由すらしません。それ以外のブラウザでは、同じ内容をzipに再パックしてダウンロードします。

パスワードはこのマシンから出ません

暗号化されたアーカイブは、パスワードを入力すればローカルで復号されます。経路上にサーバーが存在しないので、パスワードにもファイルにも「送信される先」がそもそもありません。だからこそ、Webサイトには絶対にアップロードできない類のファイルにも使えます:クライアントへの納品物、パスワード付きのバックアップ、開示資料一式、ネットに繋がっていないマシンから持ち出したアーカイブ。正直な制限もひとつ:処理はすべてメモリ上で行われるため、上限を決めるのはディスクではなくRAMです。日常的なアーカイブなら問題ありませんが、数GB級は厳しく、ハードなサイズ上限も設けています。

ディスクに書く前にチェックします

アーカイブの中のエントリ名は、作った人が好きに決められます。つまり ../../.ssh/authorized_keys という名前のエントリを仕込むこともできて、素朴に展開すると指定したフォルダの外に書き込まれてしまいます。いわゆるzip slipで、実在の解凍ツールが20年間踏み続けてきた罠です。このツールは1バイトも書き込む前に全エントリのパスを解決し、フォルダの外へ出ようとするエントリは拒否したうえで名前を一覧します — 黙って書き込むことはありません。展開後の合計サイズも先に集計するので、42KBのzipがペタバイトに膨らむと主張するような解凍爆弾も、ディスクが埋まる前に止まります。

よくある質問

ファイルはどこかにアップロードされますか?

いいえ。展開も復号もブラウザ内のWebAssemblyコードが行い、サーバーがファイルに触れることは一切ありません。信じる必要すらありません:DevToolsのNetworkタブを開いたまま展開してみてください。ファイルを運ぶリクエストは1つも流れません。ページを読み込んだ後にオフラインにしても、展開はそのまま動きます。

どのくらいのサイズまで扱えますか?RARが遅いのはなぜですか?

処理はすべてメモリ上なので、上限を決めるのはディスクではなくRAMです。ハードなサイズ上限があり、デスクトップなら数百MBは通常問題ありませんが、数GB級は厳しくなります。速度は別の話です:ソリッド圧縮されたRARや一部の特殊な7zフィルタは、全ファイルをひとつの連続したストリームとして圧縮しているため、1ファイル取り出すだけでもその手前まで全部デコードする必要があります。遅いのはフォーマットの性質で、ツールの問題ではありません。

パスワード付きのアーカイブも展開できますか?

そのためのパスワード欄です。入力したパスワードは、デスクトップでzip・rar・7zを復号しているのと同じlibarchiveのWebAssembly版にそのまま渡され、処理はこのマシン上で完結します — 送信する先のサーバーが存在しないので、どこにも送られません。ただし、どこまで確認できているかは正直に書いておきます:仕組みは組み込み済みで、パスワードを間違えれば壊れたファイルではなく明確なエラーになりますが、実際に暗号化されたアーカイブを各形式で通した検証はまだ済んでいません。特にAES-256のzipは、そもそも復号できない可能性があります。対応表のその行を「未検証」にしているのはこのためです。とはいえ、復号を一切試みない隣のアーカイブ検査ツールとの実用上の違いは、やはりここにあります。

「フォルダに展開」の選択肢が表示されないのはなぜですか?

指定したフォルダへの直接書き込みにはFile System Access APIを使っており、現状これを実装しているのはChromium系(Chrome・Edge・Opera)だけです。FirefoxとSafariでは代わりに、全ファイルをzipに再パックしてダウンロードします。中身は同じで、unzipの手間が1回増えるだけです。

アーカイブに危険なものが入っていたらどうなりますか?

書き込み前に2種類の攻撃を具体的にチェックします。展開先フォルダの外へ出ようとするパス — 例の ../../.ssh/authorized_keys の手口 — を持つエントリは拒否し、何を仕込まれていたか分かるように名前を一覧します。また展開後の合計サイズを先に計算するので、解凍爆弾はメモリを食い尽くす前に弾かれます。一方で、これはマルウェアスキャンではありません。取り出したファイルの中身自体が悪意あるものという可能性は残るので、信頼できないアーカイブの中身は普通のダウンロードと同じ警戒で扱ってください。