統合アーカイバDLLの相違

統合アーカイバAPI仕様のDLLの相違をまとめています。

お願い

この記事に間違いを発見されたり、不明となっている箇所をご存知であったならば、ぜひこの記事を編集して修正してください。新しい項目や、DLLを追加していただいても構いません。この記事を編集するには、Editこのリンクをクリックしてください

書き方の説明

  • 表中の項目が空白のものは、指定する必要が無いことを意味します。「-」はその機能に対応していないことを、「?」は不明であることを意味します。不明な箇所は空白ではなく、「?」としてください。
  • 表の各行は、
    |~(項目の説明)|/*unlha*/|/*unzip*/|/*zip*/|/*7zip*/|/*cab*/|/*tar*/.....
    のように書かれています。「/*unlha*/」の部分は表示されず、ただの目印です。よって、コマンドを表に書き加える時は、「/**/」の外側に書いてください(「/**/」の部分を削除してもかまいません。)。
  • 表中の項目で複数行となっているものは、それらすべてが指定された機能を実現することができるという意味です。実際は複数行でなくても、複数行で表示される場合もあります。コピー&ペーストで、実際に改行が含まれているか確認してください。
  • 各DLLは最新のバージョンであるものとします。バージョンによる違いが分かっている時は、注釈(二重丸括弧でかこむ)に記述します。
  • 各DLLの名称は省略して書かれています。実際の名前は以下の通りです。
DLL名バージョン著作権者または製作者(敬称略)
UNLHA32.DLL2.02eMicco
UNZIP32.DLL5.42shoda T.
ZIP32J.DLL0.37吉岡恒夫
7-ZIP32.DLL4.31.00.03秋田稔
CAB32.DLL0.98宮内邦昭
TAR32.DLL2.28吉岡恒夫
UNRAR32.dll0.10亀井哲弥
UNARJ32.DLL0.63aMicco
BGA32.dll0.37木村利靖
YZ1.DLL0.27K.INABA
UNGCA32.DLL0.11b天野晃治
UNIMP32.dll0.17HyperBeat
UNHKI32.dll0.02Silky
UNACEV2J.DLL0.05Niiyama(HEROPA)

基本コマンド

DLL名unlhaunzipzip7zipcabtarunrarunarjbgayz1ungcaunimpunhikunace
展開*1e*2-u-ex -j-x --use-directory=0-ee
ev
x -jx -x0e -xx0eee
展開2*3x*4-x
-xv*5
-xx-x-xx
xv
xxexxx
圧縮*6a
u -c
--gaa -o-c--aca
s*7*8
-*9a-
圧縮2*10u--uua?*11--a -n-?*12-u-
自展*13s*14---sfx-sfxf---ss*15ss-
検査*16t-t-tt*17-*18tt--ttt
一覧*19l-l*20
-lv*21
-ll-t
-l
-ll*22
lv*23
l-llll
一覧長*24v-v-----vv*25
vv
v--vvv
*26


*1 パスなし展開
*2 "e"と"x -m0x0"が同じ。
*3 パス付き展開
*4 "x"と"e -m1x1"が同じ。
*5 展開結果の報告書式が、UNZIPの標準形となる。
*6 既にあるファイルを常に上書きして圧縮
*7 ファイル連結圧縮
*8 gcac.exeが必要
*9 "a"が割り当てられているようだが、未実装。
*10 ファイルが既にあるときはタイムスタンプを比較して圧縮
*11 "-c"がどちらか分からない
*12 "a"とどちらがどちらだか分からない。
*13 既存書庫を変換して自己展開書庫を作成
*14 Ver1.96a以降では"-jw"や"-gw"で直接自己展開書庫を作成できる
*15 "-s"で自己展開書庫で圧縮。ただし、yzdec.exeが必要。
*16 書庫の完全性検査
*17 "c"は簡易検査
*18 "-t"未実装
*19 書庫の内容の一覧出力
*20 LHA風書式
*21 UNZIP風書式
*22 LHA形式
*23 ARJ.EXE形式
*24 書庫の内容の冗長な一覧表示
*25 LHA形式
*26 ダミーです。新しい項目を追加する時にコピペ用としてご利用ください。

オプション

DLL名unlhaunzipzip7zipcabtarunrarunarjbgayz1ungcaunimpunhikunace
-無視*27-*28----------------
@無視*29----------!*30---------
属性*31-r1*32--S*33-*34?-a+*35-a*36-?-a1*37?
サブD*38-a1*39--r
-R*40
-r-r-r-r+-r-r1*41?-r1*42?
パス付*43-x1*44*45*46*47*48-*49*50-xx1*51?
D格納*52-x1r2*53-*54------a-??--
更新*55-u1*56-*57*58?-n*59?-u*60-u+*61-n*62*63?-u1-gf3*64*65
非表示*66-n--i-q-hide-i--display-dialog=0-q-i-i-i-sx0-n1---hide
YES*67-y*68-qq*69?*70-y-?*71-y-y?-y-yx0-m1--y
PW*72--P-e
-P
-p---p---p
-P*73
-p*74--mp-p
圧法*75-jm*76--#-t*77-m*78-z
-B*79
---m*80--*81-ma*82-
作業D*83-w--b-w-h-------w-w-


*27 これ以降は「-」ではじめるコマンドをファイル名とする
*28 "-gb"をファイル名の前につけることにより回避
*29 これ以降は「@」ではじめるコマンドをレスポンスファイルとしない
*30 Unarj32jではレスポンスファイルに「!」を付ける
*31 属性を保存して展開、圧縮
*32 "-r2x1"でディレクトリも格納。"d1"も参照。
*33 "-g"でシステム、隠し属性のファイルを格納しない
*34 "AH"?
*35 "-a-"で無効に。
*36 ディレクトリも格納する
*37 "-a0"で無効に。
*38 サブディレクトリを検索
*39 "-a2"でディレクトリ指定再帰。"d1"も参照。
*40 PKZIP互換
*41 "-r2"でディレクトリ名指定再帰モード。展開時には機能しない。
*42 "-r0"で無効に。
*43 展開、圧縮時にパス情報を復元、保存する
*44 "-d"も参照
*45 "-j"でパスを無視
*46 "-j"で保存しない
*47 "-j"でパスを無視
*48 "--use-directory=0"で無効に。
*49 "-j"でパスを無視して展開。
*50 "-x0"で無効に。
*51 "-x0"で無効に。
*52 圧縮時にディレクトリも格納する
*53 "-d"は"-x1r2a2"と同等
*54 "-D"で格納しない
*55 同名のファイルが存在する時に、タイムスタンプを比較し、新しい場合のみ上書きする。存在しないファイルは無条件で展開、格納。
*56 "-c"で常に上書き。"-jn"で存在しないファイルのみ。"-gf1"で存在する新しいファイルのみ。
*57 "-n"で上書きしない。"-o"で常に上書き。
*58 "-f"で格納ファイルを更新
*59 展開時のみ?"-o"で常に上書き。
*60 "-o"で常に上書き。"-o-"で上書きしない。"-f"で存在する新しいファイルのみ上書き。
*61 "-c+"で常に上書き。
*62 "-o"で常に上書き。
*63 "-c1"で常に上書き。
*64 "-gf1"で常に上書き。
*65 "-o"で常に上書き。
*66 処理状況ダイアログを非表示
*67 すべての質問にYESで答える
*68 "jy"で選択可能。"-m1"はファイルの上書きとディレクトリの作成だけYES。
*69 これでよいのだろうか?"-pd"でUnZip()の返り値でスキップしたファイル数を返す。
*70 "-q"だろうか?
*71 "n"だろうか?
*72 パスワードを指定して展開もしくは圧縮
*73 公開鍵方式
*74 "-k"でキーファイルを使用
*75 圧縮方法を指定
*76 "-h","-o"も参照
*77 "-tzip"でZIP,"-t7z"で7z形式。"-m"で圧縮方法の設定。
*78 "-mz"でMSZIP、"-ml"でLZX、"-mq"でQUANTUM、"-ms"で無圧縮形式。"-v"でマルチボリューム。
*79 "-z"でgzip、"-B"でbzip2。"B[N]"と"--bzip2=N"が同等。"-G"でgzipまたはbzip2の圧縮、展開のみ。
*80 "-m1"でGZIP,"-m2"でBZIP2。"-l"で圧縮レベル。
*81 "-t1"でマルチメディア圧縮
*82 "-ma0"のみ。"-ml"で圧縮レベル。"-mm"で圧縮モード。
*83 作業用ディレクトリの指定

すべてのファイルを表す表記

「*.*」と「*」の両方ともすべてのファイルを表すDLL
unlha, unzip, zip, cab, tar, unarj, ungca, bga, unace, unhki
「*」のみがすべてのファイルを表し、「*.*」は拡張子を持つファイルを表すDLL
7zip, unrar, yz1, unimp

レスポンスファイル

レスポンスファイルにファイル名以外のコマンドやスイッチを記述できるDLL
unlha, unarj*84, unrar, yz1, unzip, unimp*85*86
レスポンスファイルにファイル名しか記述できない(リストファイルしか指定できない)DLL
7zip, bga, cab, ungca, unace, unhki, tar(?), zip(?)
レスポンスファイルに対応していないDLL
unbel


*84 レスポンスファイルには頭に「!」を付ける
*85 レスポンスファイルには頭に「:」を付ける
*86 ファイル名を"で括ると無視される。

Directory Traversal Vulnerabilityへの対応

DLL名unlhaunzipzip7zipcabtarunrarunarjbgayz1ungcaunimpunhikunace
Ver*871.90h5.41β3-3.08X*882.240.100.55X*890.23*900(?)?0(?)0(?)
警告*91-jsp-qsp
-qsq*92
-?-?-e-htp--ea?-jp?--ea
ルート*93-jf0------*94---*95-jf0-


*87 対応したバージョン。「X」は未対応。「0」ははじめから問題なし。「-」は関係なし。
*88 dcab32.dllを使うことにより回避できる。
*89 QBga32.DLLを使うことにより回避できる。
*90 "-ea1"とする。0.25から"-ea1"がデフォルトに。
*91 指定フォルダ以外に展開される時に警告、スキップ、拒否するために使用するスイッチ。フラグを付加する必要がある。
*92 "-qeddd","-qedde","-qeedd","-qeede","-qeeed"なども同じ
*93 ルート記号を削除する
*94 "-jf+"で削除しない
*95 "-jf0"で絶対パスで展開


ページ情報
[ トップ ]   [ 新規 | 子ページ作成 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]