Artifact Content

Not logged in

Artifact 0d3d287f0db238f34d79c9e0230eac5b1c167b09


     1  ----------------------------
     2   Quasi-Bga32.DLL 2010/11/25
     3  ----------------------------
     4  
     5  http://www.forest.impress.co.jp/article/2004/07/30/arcsecurity.html
     6  などで脆弱性と指摘されている問題が気になるけれど、Bga32.dllは使い続け
     7  たいという人のための回避策です。展開処理はこの問題に対処しつつ内部で
     8  行い、圧縮などの他の処理は全てオリジナルのBga32.dllに処理を回します。
     9  
    10  本家Bga32.dllが更新されるまでのピンチヒッターということで。
    11  
    12  
    13  ★使い方
    14  
    15    * オリジナルの Bga32.dll を _Bga32.dll に、名前を変更する。
    16    * QBga32.dll を Bga32.dll に、名前を変更する。
    17    * 後は DLL を利用する各ソフトウェアの使用方法に従って…
    18  
    19  ★オリジナルのBga32.DLLとの相違点
    20  
    21    Bga() API にxコマンドを与えたときの動作のみが変化します。
    22  
    23      * 書庫内の格納ファイルパスの".."を"__"に書き換えながら解凍します。
    24  
    25      * 今のところ、レジストリの設定を読み込みません。
    26      * エラー時の返値が非常にいい加減です。
    27      * 上書き確認ダイアログが簡素なものになっています。
    28      * コマンドラインやオプション、ワイルドカードの解釈は
    29        オリジナルと同じになるように作ったつもりです。
    30      * ただし、突貫で作ったのでたぶんバグだらけです。
    31  
    32  ★更新履歴
    33  
    34    2010/11/25 (0.04)
    35      * _Bga32.dll を探す対象パスからカレントディレクトリを外しました
    36    2004/8/31 (0.03)
    37      * レスポンスファイルが扱えてなかったバグを修正
    38      * .gzaを正しく展開できないケースがあったっぽいので修正
    39      * 基底ディレクトリの指定がないと正しく動作しないバグ修正
    40      * 進捗状況ダイアログ表示を実装
    41      * SetOwnerWindowProc系APIを実装
    42      * QBgaGetVersion() API を追加。このAPIが必要になる機会は
    43        基本的には無いようにしたいですが…。オリジナルの
    44        Bga32と偽Bga32を区別したい場合はこのAPIの有無で。
    45    2004/8/22
    46      * FreeLibrary時に標準入出力を勝手に閉じちゃうバグを修正
    47    2004/8/20
    48      * 初版公開
    49  
    50  ★ソースからコンパイルするには
    51  
    52    Digital Mars D Compiler 0.99
    53      http://www.kmonos.net/alang/d/1.0/changelog1.html#new099
    54    が必要です。
    55  
    56  ★著作権等
    57  
    58    src/libbz2ディレクトリの中身は、
    59      libbzip2
    60        http://sources.redhat.com/bzip2/
    61    をビルドしたライブラリなどです。この部分は
    62      Copyright (C) 1996-2002 Julian R Seward.  All rights reserved.
    63    で。
    64  
    65    win32.lib と win32 ディレクトリの中身は
    66      windows.h for D
    67        http://hp.vector.co.jp/authors/VA028375/d/windows.h.html
    68    を利用しています。
    69  
    70    他は NYSL 0.9982 ( http://www.kmonos.net/nysl/ )に基づいてご自由に。