コミックマーケット93で、圧縮ファイルフォーマットZIPの仕様や使われている圧縮アルゴリズムについて解説した本を頒布します。 本の後半ではZIPの暗号化に対する攻撃法を紹介しています。 なお、サークルカットには「暗号化ZIPはほぼ全て解読可能!!」と書きましたが、実際に試してみるとなかなか難しかったです……。
無料公開
電子版を無料で公開します。(2024年5月29日)
委託販売
サンプル
- sample.pdf(素数のページのみ抜粋しています)
詳細
- サークル情報
- 金曜日 東キ29b「superflip」
- 頒布価格
- 1,000 円
- 日本銀行券・貨幣以外の支払い方法
-
- 支払い方法
- クレジットカード(VISA、Mastercard、American Express)(Square)
- pixiv PAY
- 0.0005 BTC(ビットコイン。適切な送金手数料を支払ってください。現在0.001 BTC程度必要です)
- 0.5 MONA(Monacoin。@tipmona、もしくはMonappyで)
- 40 ZENY(BitZeny。@zenyhimeで)
- 日本円換算で1,000 円程度の外貨
- 額面(通貨単位)の合計が1,000の外貨(1人1冊まで)
- 注意事項
- 私(@kusano_k)がスペースにいるときしか対応できません
- 暗号通貨での価格は当日までもしくは当日に変更する可能性があります
- 誰が支払ったか分からなくなるので、暗号通貨での支払いはスペースでお願いします
- サイズ
- B5
- ページ数
- 本文72ページ
サンプルコード
- 2章
- 3章
- kusano_k.png
- secret.txt
- secret.zip
- bk1994.cpp
- cocoa.txt
- chino.txt
- rize.txt
- chiya.txt
- syaro.txt
- rabbit.zip
- stay.cpp
- https://github.com/kusano/understandzip_webでコードハイライト付きの閲覧や、まとめてのダウンロードができます
正誤表
第1刷
ページ | 誤 | 正 |
---|---|---|
13 | Local file headerの構成は次の通りです。 | Central directory headerの構成は次の通りです。 |
14 | externalAttr 2 bytes | externalAttr 4 bytes |
21 | あまり出現する文字には | あまり出現しない文字には |
33 | stream.write(1); // BFINAL = 0 | stream.write(1); // BFINAL = 1 |
48 | (key0[p]の最下位バイト)が変換しても | (key0[p]の最下位バイト)が変化しても |