UNARJ32.DLL
詳細情報
タイトル | UNARJ32.DLL |
---|---|
URL | http://micco.mars.jp/mysoft/unarj32.htm |
バージョン | ver 2.00 |
更新日 | 2018/05/06 |
追加日 | 2013/08/17 |
種別 | フリーソフト |
説明 | ARJ 書庫の解凍を行うための DLL。 |
レビュー
レビューはありません。
スクリーンショット
スクリーンショットはありません。
更新グラフ
バージョン履歴
対応ブラウザー
<May.5,2018>
「統合アーカイバ・プロジェクト」の API 仕様に準拠した ARJ 書庫の展開を行うための DLL (ダイナミック・リンク・ライブラリー) です。
従って, ARJ.EXE Ver 2.5x 以降とは仕様が異なっている部分が存在しますし, 5 以降のメソッドについては展開できず, プロテクト書庫もバックアップメンバーも扱えません。
Ver 2.00:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 2.00
(UAR3200.EXE 277KB,2018/05/05)
MD5: ED98B75C1115EE7F5F8FED01BA66D93A
SHA1: A6D1E62F58375DEFFB333BFFE08FBE006DCB3C3D
CRC32: 6ABC308C
.
Ver 1.10a からの変更点
UNARJ32.DLL における任意の DLL 読み込みに関する脆弱性について対応しました。
UNLHA32.DLL で作成された自己解凍書庫における任意の DLL 読み込みに関する脆弱性について対応しました。 (UNARJ32.DLL の配布自己解凍書庫)
・脆弱性関連については, 以下のページを参照してください。
UNLHA32.DLL で作成された自己解凍書庫における任意の DLL 読み込みに関する脆弱性 (UNARJ32.DLL の配布自己解凍書庫)
UNARJ32.DLL における任意の DLL 読み込みに関する脆弱性について
LZH 書庫のヘッダー処理における脆弱性について (2010 年版)
UNARJ32.DLL におけるヒープオーバーフローの脆弱性
(省略されました)
<May.5,2018>
「統合アーカイバ・プロジェクト」の API 仕様に準拠した ARJ 書庫の展開を行うための DLL (ダイナミック・リンク・ライブラリー) です。
従って, ARJ.EXE Ver 2.5x 以降とは仕様が異なっている部分が存在しますし, 5 以降のメソッドについては展開できず, プロテクト書庫もバックアップメンバーも扱えません。
Ver 2.00:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 2.00
(UAR3200.EXE 277KB,2018/05/05)
MD5: ED98B75C1115EE7F5F8FED01BA66D93A
SHA1: A6D1E62F58375DEFFB333BFFE08FBE006DCB3C3D
CRC32: 6ABC308C
.
Ver 1.10a からの変更点
UNARJ32.DLL における任意の DLL 読み込みに関する脆弱性について対応しました。
UNLHA32.DLL で作成された自己解凍書庫における任意の DLL 読み込みに関する脆弱性について対応しました。 (UNARJ32.DLL の配布自己解凍書庫)
・脆弱性関連については, 以下のページを参照してください。
UNLHA32.DLL で作成された自己解凍書庫における任意の DLL 読み込みに関する脆弱性 (UNARJ32.DLL の配布自己解凍書庫)
UNARJ32.DLL における任意の DLL 読み込みに関する脆弱性について
LZH 書庫のヘッダー処理における脆弱性について (2010 年版)
UNARJ32.DLL におけるヒープオーバーフローの脆弱性
(省略されました)
<Nov.10,2007>
Ver 1.10a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.10a
(UAR3110A.EXE 221KB,2007/11/10)
MD5: B0358EA09A73E34FB5472FFE309881A8
SHA1: 09C94DDB40C2FFA6BAEDDD6A4088F98283D9C06A
CRC32: 48446490
Ver 1.10 からの変更点
UNARJ32.DLL におけるヒープオーバーフローの脆弱性について
UnarjOpenArchive() 等において, 省略値スイッチ指定等が重複して処理されてしまっていたバグを修正しました。
動作妨害や脆弱性利用等を目的とした用途として使用が可能だったことから, レジストリを利用した省略値スイッチ指定等の機能を削除しました。
Ver 1.04b からの変更点
Unarj() 等の API へ規定数を超えたパラメータを含むコマンド文字列が渡されるとヒープオーバーフローを起こしてしまっていた脆弱性を修正しました。
64 ビット time_t 値でタイムスタンプ情報を得る UnarjGetWriteTime64() 等の API を追加しました。 これに伴いバージョンが 1.10 へ更新となっています。
整合性を考慮して, time_t 値でタイムスタンプ情報を得る UnarjGetArcWriteTime() 等の API を追加しました (メンバ用の UnarjGetWriteTime() 等の API は存在したものの, 書庫用の API が存在していなかったため)。
UNARJ32.H でのプロトタイプ宣言について, const 修飾子の有無を見直しました。 また, 付加し忘れていた箇所についても修正を行っています。
API を実行した結果エラーが返ってきたにも拘わらず, 直後の UnarjGetLastError() が ERROR_SUCCESS を返してしまうことのあったバグを修正しました。
Win9X/Win32s 上でデバッグ出力を行った際に, 一般保護エラーとなってしまうことのあったバグを修正しました (β版のみで発生)。
"-p0" スイッチの指定が無効となってしまうことのあったバグを修正しました。
(省略されました)
Ver 1.10a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.10a
(UAR3110A.EXE 221KB,2007/11/10)
MD5: B0358EA09A73E34FB5472FFE309881A8
SHA1: 09C94DDB40C2FFA6BAEDDD6A4088F98283D9C06A
CRC32: 48446490
Ver 1.10 からの変更点
UNARJ32.DLL におけるヒープオーバーフローの脆弱性について
UnarjOpenArchive() 等において, 省略値スイッチ指定等が重複して処理されてしまっていたバグを修正しました。
動作妨害や脆弱性利用等を目的とした用途として使用が可能だったことから, レジストリを利用した省略値スイッチ指定等の機能を削除しました。
Ver 1.04b からの変更点
Unarj() 等の API へ規定数を超えたパラメータを含むコマンド文字列が渡されるとヒープオーバーフローを起こしてしまっていた脆弱性を修正しました。
64 ビット time_t 値でタイムスタンプ情報を得る UnarjGetWriteTime64() 等の API を追加しました。 これに伴いバージョンが 1.10 へ更新となっています。
整合性を考慮して, time_t 値でタイムスタンプ情報を得る UnarjGetArcWriteTime() 等の API を追加しました (メンバ用の UnarjGetWriteTime() 等の API は存在したものの, 書庫用の API が存在していなかったため)。
UNARJ32.H でのプロトタイプ宣言について, const 修飾子の有無を見直しました。 また, 付加し忘れていた箇所についても修正を行っています。
API を実行した結果エラーが返ってきたにも拘わらず, 直後の UnarjGetLastError() が ERROR_SUCCESS を返してしまうことのあったバグを修正しました。
Win9X/Win32s 上でデバッグ出力を行った際に, 一般保護エラーとなってしまうことのあったバグを修正しました (β版のみで発生)。
"-p0" スイッチの指定が無効となってしまうことのあったバグを修正しました。
(省略されました)
<Mar.22,2007>
Ver 1.04b:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.04b
(UAR3104B.EXE 220KB,2007/03/22)
MD5: 2780712EE8683752650B47CF689B170A
SHA1: 5532B02920D511D4E62842C1AD339697F2E833AF
CRC32: AAB7C2F6
Ver 1.04a からの変更点
状況表示ダイアログの『中止』ボタンで処理を中止した際に, プログラムの抜けてしまうことがあったバグを修正しました。
Ver 1.04b:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.04b
(UAR3104B.EXE 220KB,2007/03/22)
MD5: 2780712EE8683752650B47CF689B170A
SHA1: 5532B02920D511D4E62842C1AD339697F2E833AF
CRC32: AAB7C2F6
Ver 1.04a からの変更点
状況表示ダイアログの『中止』ボタンで処理を中止した際に, プログラムの抜けてしまうことがあったバグを修正しました。
<Mar.10,2007>
Ver 1.04a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.04a
(UAR3104A.EXE 220KB,2007/03/10)
MD5: 4E58BAA67467074C5D55DC1089BA6641
SHA1: E807ED59DEE89733996DA3A84148805D483CC75E
CRC32: DC47AC36
Ver 1.04 からの変更点
Ver 1.03a からの変更点
メモリマップトファイルを使用している場合に, まれに一般保護エラーの発生してしまうことがあったバグを修正しました。
Ver 1.04a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.04a
(UAR3104A.EXE 220KB,2007/03/10)
MD5: 4E58BAA67467074C5D55DC1089BA6641
SHA1: E807ED59DEE89733996DA3A84148805D483CC75E
CRC32: DC47AC36
Ver 1.04 からの変更点
Ver 1.03a からの変更点
メモリマップトファイルを使用している場合に, まれに一般保護エラーの発生してしまうことがあったバグを修正しました。
<Dec.22,2006>
Ver 1.03a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.03a
(UAR3103A.EXE 220KB,2006/12/22)
MD5: 7B55B0FA0412C8BE9DB6865E50C50833
SHA1: EFF423BF44922EA9D35BCC45000E3942D8DD8531
CRC32: 5C6FE371
Ver 1.03 からの変更点
Ver 1.02b からの変更点
"-hzz" スイッチでの拡張子指定が正常に機能していなかったバグを修正しました。
Ver 1.03a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.03a
(UAR3103A.EXE 220KB,2006/12/22)
MD5: 7B55B0FA0412C8BE9DB6865E50C50833
SHA1: EFF423BF44922EA9D35BCC45000E3942D8DD8531
CRC32: 5C6FE371
Ver 1.03 からの変更点
Ver 1.02b からの変更点
"-hzz" スイッチでの拡張子指定が正常に機能していなかったバグを修正しました。
<Oct.30,2006>
Ver 1.02b:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.02b
(UAR3102B.EXE 219KB,2006/10/30)
Ver 1.02a からの変更点
Ver 1.02a において, "--" スイッチによるスイッチ文字等の変更が利かなくなってしまうことのあったバグを修正しました。
Ver 1.02b:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.02b
(UAR3102B.EXE 219KB,2006/10/30)
Ver 1.02a からの変更点
Ver 1.02a において, "--" スイッチによるスイッチ文字等の変更が利かなくなってしまうことのあったバグを修正しました。
<Oct.28,2006>
Ver 1.02a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.02a
(UAR3102A.EXE 219KB,2006/10/28)
Ver 1.02 からの変更点
Ver 1.01b からの変更点
強制指定スイッチについては, それまでの指定に拘わらず, 常に既定値のスイッチ文字を認識するように改善しました。
・『ARJ 書庫のヘッダ処理における脆弱性』の問題について
『LZH 書庫のヘッダ処理における脆弱性』のページにまとめてあります。
Ver 1.02a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.02a
(UAR3102A.EXE 219KB,2006/10/28)
Ver 1.02 からの変更点
Ver 1.01b からの変更点
強制指定スイッチについては, それまでの指定に拘わらず, 常に既定値のスイッチ文字を認識するように改善しました。
・『ARJ 書庫のヘッダ処理における脆弱性』の問題について
『LZH 書庫のヘッダ処理における脆弱性』のページにまとめてあります。
<Oct.14,2006>
Ver 1.01b:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.01b
(UAR3101B.EXE 219KB,2006/10/14)
Ver 1.01a からの変更点
正式版としてコンパイルを行っただけで, 特に変更点はありません。
Ver 1.01 からの変更点
Win32s 環境の場合にローカル時間との変換が正常に行われないことのあったバグを修正しました。
'T' 命令の際に CRC エラーのメッセージボックスを表示しないように改善しました。
Ver 1.00a からの変更点
『gzip における脆弱性』の Lzh 関連部分 (CVE-2006-4335, CVE-2006-4337, CVE-2006-4338) に対応しました。
・『gzip における脆弱性』の影響について
『gzip における脆弱性の影響について』のページにまとめてあります。
Ver 1.01b:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.01b
(UAR3101B.EXE 219KB,2006/10/14)
Ver 1.01a からの変更点
正式版としてコンパイルを行っただけで, 特に変更点はありません。
Ver 1.01 からの変更点
Win32s 環境の場合にローカル時間との変換が正常に行われないことのあったバグを修正しました。
'T' 命令の際に CRC エラーのメッセージボックスを表示しないように改善しました。
Ver 1.00a からの変更点
『gzip における脆弱性』の Lzh 関連部分 (CVE-2006-4335, CVE-2006-4337, CVE-2006-4338) に対応しました。
・『gzip における脆弱性』の影響について
『gzip における脆弱性の影響について』のページにまとめてあります。
<Sep.16,2006>
Ver 1.00a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.00a
(UAR3100A.EXE 212KB,2006/09/16)
Ver 1.00 からの変更点
"--" スイッチが不正扱いとなってしまう環境のあったバグを修正しました。
Ver 1.00a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.00a
(UAR3100A.EXE 212KB,2006/09/16)
Ver 1.00 からの変更点
"--" スイッチが不正扱いとなってしまう環境のあったバグを修正しました。
<Aug.26,2006>
Ver 1.00:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.00
(UAR3100.EXE 212KB,2006/08/26)
Ver 0.99b からの変更点
Ver 0.99a からの変更点
Ver 0.99 以降において, NT 系以外の環境で WCharToCharN() が一般保護エラーを起こしてしまう可能性のあったバグを修正しました。
Ver 0.99 からの変更点
MySetFilePointer() において, lpToMoveHigh の返却値がおかしかったバグを修正しました。 返却値を使用していないことから表面化はしていません。
"-o", "-ob" スイッチについて, (2 秒単位ではなく) 秒単位で指定を行えるように改善しました。 SystemTimeToFileTime() API に問題を抱えている一部の環境 (当該 API がエラーを返してきた場合) では, 従来どおり DosDateTimeToFileTime() API を使用することから, 2 秒単位となります。
Ver 0.63a からの変更点
Unicode 版 API を実装しました。 ただし, UNLHA32.DLL と異なり内部動作が ANSI のままであることから, ANSI 版 API と何も変わりません。 Unicode 版アプリから使用する場合に, 多少扱い易くなっただけです。
Unicode 版 API 実装に伴い, UNARJ32.H を ANSI/Unicode 両用の形式へ変更しました。UNARJ32.H の変更によって, マクロ UNICODE の定義有無に従い対象 API が変更されますので, 注意してください。
UnarjEnumMembersProc() 系 API を実装しました。
UnarjSetCP(), UnarjGetCP(), UnarjGetLastError() API の追加を行いました。
SetLangueSpecified() 系 API について, UNLHA32.DLL と同様, 処理結果を返すように仕様変更を行いました。
これまで, Unarj() 等で szCmdLine に NULL が渡された場合に ERROR_COMMAND_NAME を返していたものを, ERROR_INVALID_VALUE を返すように変更しました。
UnarjExtractMem() API が正常に動作していなかったバグを修正しました。
ファイルオープン再試行時について, ファイルが見つからなかったにもかかわらず共有指定変更による再試行を行ってしまっていたバグを修正しました。
(省略されました)
Ver 1.00:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 1.00
(UAR3100.EXE 212KB,2006/08/26)
Ver 0.99b からの変更点
Ver 0.99a からの変更点
Ver 0.99 以降において, NT 系以外の環境で WCharToCharN() が一般保護エラーを起こしてしまう可能性のあったバグを修正しました。
Ver 0.99 からの変更点
MySetFilePointer() において, lpToMoveHigh の返却値がおかしかったバグを修正しました。 返却値を使用していないことから表面化はしていません。
"-o", "-ob" スイッチについて, (2 秒単位ではなく) 秒単位で指定を行えるように改善しました。 SystemTimeToFileTime() API に問題を抱えている一部の環境 (当該 API がエラーを返してきた場合) では, 従来どおり DosDateTimeToFileTime() API を使用することから, 2 秒単位となります。
Ver 0.63a からの変更点
Unicode 版 API を実装しました。 ただし, UNLHA32.DLL と異なり内部動作が ANSI のままであることから, ANSI 版 API と何も変わりません。 Unicode 版アプリから使用する場合に, 多少扱い易くなっただけです。
Unicode 版 API 実装に伴い, UNARJ32.H を ANSI/Unicode 両用の形式へ変更しました。UNARJ32.H の変更によって, マクロ UNICODE の定義有無に従い対象 API が変更されますので, 注意してください。
UnarjEnumMembersProc() 系 API を実装しました。
UnarjSetCP(), UnarjGetCP(), UnarjGetLastError() API の追加を行いました。
SetLangueSpecified() 系 API について, UNLHA32.DLL と同様, 処理結果を返すように仕様変更を行いました。
これまで, Unarj() 等で szCmdLine に NULL が渡された場合に ERROR_COMMAND_NAME を返していたものを, ERROR_INVALID_VALUE を返すように変更しました。
UnarjExtractMem() API が正常に動作していなかったバグを修正しました。
ファイルオープン再試行時について, ファイルが見つからなかったにもかかわらず共有指定変更による再試行を行ってしまっていたバグを修正しました。
(省略されました)
<Jan.22,2006>
Ver 0.63a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 0.63a
(UAR3063A.EXE 192KB,2006/01/22)
Ver 0.63 からの変更点
Ver 0.62a からの変更点
UnarjExtractMem() 等において, 特定の箇所が正常に展開されない環境の存在していたバグを修正しました。
UnarjGetAttributes() API を追加しました。
MyGetFullPathName() でのパス構築ループで, 無駄にパスを遡りながら構築が行われていた点を改善しました。
MyGetFullPathName() においても連続スペースのチェックを行うように改善しました。
MyGetFullPathName(), CheckPathName() でのバッファ溢れチェック方法の改善を行いました。
メモリマップトファイル使用時について, バッファ解放タイミングの改善を行いました。
Ver 0.63a:正式公開版です。 通常はこちらをお使いください。
UNARJ32.DLL Ver 0.63a
(UAR3063A.EXE 192KB,2006/01/22)
Ver 0.63 からの変更点
Ver 0.62a からの変更点
UnarjExtractMem() 等において, 特定の箇所が正常に展開されない環境の存在していたバグを修正しました。
UnarjGetAttributes() API を追加しました。
MyGetFullPathName() でのパス構築ループで, 無駄にパスを遡りながら構築が行われていた点を改善しました。
MyGetFullPathName() においても連続スペースのチェックを行うように改善しました。
MyGetFullPathName(), CheckPathName() でのバッファ溢れチェック方法の改善を行いました。
メモリマップトファイル使用時について, バッファ解放タイミングの改善を行いました。