■ DiskX Tools Ver.4.0 for Windows
このパッケージは、レジストリを管理する「DX REG クリーナー」を含む、9つのユーティリティからなる。
DX REG クリーナーでは、レジストリに対し、
・起動時のTips文、不要タイムゾーン情報の削除
・16ビットアプリケーションのチェックデータ整理
・起動時自動実行するファイルリストの整理
・無意味なファイル参照の整理
・OLE情報、関連付け情報の整理
・レジストリ再編成
を行える。各機能の説明は取扱説明書に委ねるとして、ここでは「レジストリ再編成」機能を取り上げる。
「再編成時に...」のボタンをクリックすると、レジストリの(再構成)圧縮が始まる。内部で「REGEDIT /E xxx.REG」に相当する処理を行ってレジストリファイルを書き出し、その後、リアルモードのREGEDITのバグ(日本語キーを正常に取り込めない)を回避すべく、2バイトコードの処理が行われる。
この作業が終わると Windows の再起動を促される。再起動時にレジストリ再構築作業の続きが始まるわけだが、そこで何が行われるのだろうか。
エクスプローラで変化のあったファイルを調べてみる。次に挙げるファイルが変化した。
・WINDOWSフォルダ
・DXREREG.COD(新規)
REGEDIT.EXE や、DX REG クリーナの相棒(?)DXREREG.EXE などへのパスが4つ記されている。
・DXREREG.REG(新規)
レジストリの内容を全て書き出したレジストリファイル
・DXREREG.REP(新規)
2バイトコードチェックに引っかかったレジストリキー.2バイト文字はASCII文字の並びに置換されている.
・AUTOEXEC.BAT(変更)
冒頭に SMARTDRV.EXE と DXREREG.EXE の実行が追記される.元の AUTOEXEC.BAT は別名で保存されている.
再起動すると、ここまでの説明で示しているように DXREREG.EXE が実行される。その画面は、リアルモードの REGEDIT.EXE を用いて「REGEDIT /C xxx.REG」を実行したときと同じようである。その後、Windows が起動し、再構築が完了する。
全体を通して見ると、「REGEDIT /E → /C」の方法を使いながらも、途中で2バイトコードの問題を独自のフィルタリングで解決している形だ。この方法に辿り着くためには様々な試みがあったに違いないが、初心者でもボタン一つでレジストリ再構築を行える仕組みは、「よくできている」と言えよう。
2バイトコードの置き換えられ方の例を示す。
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{000...046}\Verb\-1]
@="表示,0,1"
@="_955C8EA62C302C31DE_"
変換後のデータの意味だが、文字列を1バイト毎に改めて書き直し、末尾にチェックサムを付けているようだ。
これをどのように元の全角文字に戻してレジストリに書き込むかのプロセスだが、残念ながら分からなかった。考えられる方法はあるが、それを裏付ける証拠がないため、ここでの記述は避ける。
ちなみに、変換後のデータを REGEDIT.EXE で取り込んでも、元の文字列にはならない(実験済)。やはり、DXREREG.EXE が翻訳して REGEDIT.EXE に食べさせているようだ。
DiskX Tools のパッケージCD−ROMには README.TXT というドキュメントが入っている。それによれば、OSR2 以前の Windows95 パソコンでも、条件によっては DX REG クリーナーを利用できるとのことである。