■■ IE レジストリ設定初期化プログラム IERegCleanFix.exe Ver2.2 について ■■■ 2005/04/20 by SATOYASU ★このプログラムの使用によって生じたいかなる障害、損害に対しても一切の責任を 負いません。自己責任で使用してください。 ・このプログラムは IE ( Microsoft Internet Explorer ) のレジストリ設定を 0 からインストールした時に近い状態に戻し、スパイウェア等によって改ざん追加 された設定を修復する事を目的としています。 ・修復される範囲はスパイウェアに比較的よく狙われやすい部分のみで設定全体から 見ればほんの一部分にすぎません。従って広範な改ざん等には対応できません。 ・すべての Windows と IE のバージョンの組み合わせについてのテストは実施して いませんが IE 5.0 以上を対象とします。 ・次のような状況では使用しないで下さい。 再起動する度に初期画面が変更される等の現象がある場合 スパイウェアによって貼り付けられたツールパー等が残っている場合 その他まだスパイウェア等が活動していると思われる状況ではある ・このプログラムはあくまでもスパイウェア等除去後の後始末の為の物です。 ・スパイウェア等の除去が終了していても IE およびシステムが不安定な状態では 使用しないで下さい。不安定な状態を回復させてから使用してください。 <<< 使用手順 >>> 1IE および他の起動中のアプリケーションはすべて終了させて下さい。 2プログラムを起動させ [ IE レジストリ修復の実施 ] ボタンをクリックして下さい。「IE レジストリ設定の初期化を実施しますか?」と確認のメッセージボックスが表示 されますので [ OK ] をクリックして下さい。 3プログラムファイルと同じフォルダに ( デスクトップ上で実行すればデスクトップ 上に ) バックアップファイルが作成され終了確認のメッセージボックスが表示される ので [ OK ] をクリックして終了してください。 4IE が起動できるかどうか動作確認を行ってください。修復直後は about:blank ( 真っ白な画面 ) が初期画面となります。検索画面等も正しく表示されているか 確認してください。もし起動できなかったり異常が生じた場合は < バックアップ ファイルによる設定の復元 > を実施して設定を元に戻して下さい。 5起動や表示に問題がなければ一旦 IE を閉じて [ Web の設定のリセット ] を実施 して下さい。( [コントロールパネル] -> [インターネットオプション] -> [プログラム] にボタンがあります。 ) << バックアップファイルによる設定の復元 >> ・バックアップファイルは自動的に出力される IERegXXXXXXXXXXXX.reg ( XX の部分は 2桁ずつ年月日時分秒を表しています ) です。 1バックアップファイルをダブルクリックして実行して下さい。 2「・・・をレジストリに追加しますか?」とメッセージボックスが表示されますので [ はい ] をクリック。 3「・・・の情報が、レジストリに正しく入力されました。」と確認のメッセージ ボックスが表示されるので [ OK ]をクリックして終了して下さい。 << 注意 >> 1SpywareGuard を使用している場合は、プログラムの実施、Web の設定のリセット、 バックアップファイルによる復元の時に警告メッセージが何回か表示されます。 すべて [ Keep new value ] をクリックして下さい。 2修復後、表示されるページによって「Web ページに問題があるため、正しく表示 または機能しなく可能性があります。・・・」とメッセージボックスが表示される時 がありますが、これは IE のエラーでなく設定の問い合わせですので通常は 「ページにエラーがあるときは、このメッセージをいつも表示する」にチェックを 入れないで [ OK ] をクリックして下さい。 3今後、プログラム本体、注意事項、手順等変更の可能性がありますので再配布は 禁止とさせていただきます。 ★ 参考 ★(Ver1 から Ver2 への変更点 ) Ver 1 では HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main 以下のキー、値は無条件に削除していましたが Ver 2 では キー名を検索し、 FeatureControl キーについては何も変更を加えないようにしています。 手順としては以下のようになります。 (1) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main 内の値(キーを除く)をすべて削除 (2) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main キー内のサブキー名を検索し、名前が FeatureControl 以外のキーはすべて削除。 (3) 以下のレジストリ修正ファイルと同等の処理を実施 ------------------------------------------------------------------------------- REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\ErrorThresholds] "400"=dword:00000200 "403"=dword:00000100 "404"=dword:00000200 "405"=dword:00000100 "406"=dword:00000200 "408"=dword:00000200 "409"=dword:00000200 "410"=dword:00000100 "500"=dword:00000200 "501"=dword:00000200 "505"=dword:00000200 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\UrlTemplate] "1"="www.%s.com" "2"="www.%s.org" "3"="www.%s.net" "4"="www.%s.edu" [-HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Search] [HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Search] "SearchAssistant"="http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm" "CustomizeSearch"="http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchcust.htm" [-HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\URL] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\URL] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\URL\DefaultPrefix] @="http://" [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\URL\Prefixes] "ftp"="ftp://" "gopher"="gopher://" "home"="http://" "mosaic"="http://" "www"="http://" [-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Search] [-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl] [-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\URLSearchHooks] [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\URLSearchHooks] "{CFBFAE00-17A6-11D0-99CB-00C04FD64497}"="" [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main] "Start Page"="about:blank" ------------------------------------------------------------------------------- 以上 このプログラムは Delphi Ver 5 で作成しました。 以下がプログラムのレジストリ修復部分です。 ------------------------------------------------------------------------------- procedure TForm1.RegClean; Var Reg : TRegistry; Val: TStringList; I:integer; C:integer; begin Reg := TRegistry.Create; val:=Tstringlist.Create; With Reg do begin rootkey := HKEY_LOCAL_MACHINE; OpenKey('\SOFTWARE\Microsoft\Internet Explorer\Main',true); GetValueNames(Val); C:=Val.Count; for I := 0 to C-1 do DeleteValue(Val[I]); GetKeyNames(Val); C:=Val.Count; for I:=0 to C-1 do if AnsiCompareText(Val[I],'FeatureControl') <> 0 then DeleteKey(Val[I]); OpenKey('\SOFTWARE\Microsoft\Internet Explorer\Main\ErrorThresholds',True); WriteInteger('400',$00000200); WriteInteger('403',$00000100); WriteInteger('404',$00000200); WriteInteger('405',$00000100); WriteInteger('406',$00000200); WriteInteger('408',$00000200); WriteInteger('409',$00000200); WriteInteger('410',$00000100); WriteInteger('500',$00000200); WriteInteger('501',$00000200); WriteInteger('505',$00000200); CloseKey; OpenKey('\SOFTWARE\Microsoft\Internet Explorer\Main\UrlTemplate',True); WriteString('1','www.%s.com'); WriteString('2','www.%s.org'); WriteString('3','www.%s.net'); WriteString('4','www.%s.edu'); CloseKey; DeleteKey('\Software\Microsoft\Internet Explorer\Search'); OpenKey('\Software\Microsoft\Internet Explorer\Search',True); WriteString('SearchAssistant','http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm'); WriteString('CustomizeSearch','http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchcust.htm'); CloseKey; DeleteKey('\Software\Microsoft\Windows\CurrentVersion\URL'); OpenKey('\Software\Microsoft\Windows\CurrentVersion\URL\DefaultPrefix',True); WriteString('','http://'); CloseKey; OpenKey('\Software\Microsoft\Windows\CurrentVersion\URL\Prefixes',True); WriteString('ftp','ftp://'); WriteString('gopher','gopher://'); WriteString('home','http://'); WriteString('mosaic','http://'); WriteString('www','http://'); CloseKey; rootkey := HKEY_CURRENT_USER; OpenKey('\SOFTWARE\Microsoft\Internet Explorer\Main',true); GetValueNames(Val); C:=Val.Count; for I := 0 to C-1 do DeleteValue(Val[I]); GetKeyNames(Val); C:=Val.Count; for I:=0 to C-1 do if AnsiCompareText(Val[I],'FeatureControl') <> 0 then DeleteKey(Val[I]); DeleteKey('\Software\Microsoft\Internet Explorer\Search'); DeleteKey('\Software\Microsoft\Internet Explorer\SearchUrl'); DeleteKey('\Software\Microsoft\Internet Explorer\URLSearchHooks'); OpenKey('\Software\Microsoft\Internet Explorer\URLSearchHooks',True); WriteString('{CFBFAE00-17A6-11D0-99CB-00C04FD64497}',''); CloseKey; OpenKey('\SOFTWARE\Microsoft\Internet Explorer\Main',True); WriteString('Start Page','about:blank'); CloseKey; end; Reg.Free; Val.Free; end; ------------------------------------------------------------------------------- バックアップファイル作成は以下のバッチファイルと同じ処理を行っています。 (実際は一時ファイル名は テンポラリファイル名をシステムから取得しており TEXT1 〜 TEXT7 ではありません。) ------------------------------------------------------------------------------- regedit /e/a TEXT1 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main" regedit /e/a TEXT2 "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main" regedit /e/a TEXT3 "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Search" regedit /e/a TEXT4 "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Search" regedit /e/a TEXT5 "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl" regedit /e/a TEXT6 "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\URLSearchHooks" regedit /e/a TEXT7 "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\URL" copy TEXT1+TEXT2+TEXT3+TEXT4+TEXT5+TEXT6+TEXT7 IEReg年月日時秒.reg del TEXT1 del TEXT2 del TEXT3 del TEXT4 del TEXT5 del TEXT6 del TEXT7 ------------------------------------------------------------------------------- 変更履歴 2005/01/23 IERegCleanFix.exe Ver2作成 2005/02/15 Ver2.1 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main キー内のサブキー名 を検索し、名前が FeatureControl 以外のキーはすべて削除 の処理が不十分な為、不要なサブキーが残ってしまうバグを修正。なお、前バージョン を適用してした場合も、処理が不十分になる事はあっても、必要なシステムを破壊する ような事はない。 2005/04/20 Ver2.2 レジストリのアクセス権の変更、レジストリ関係のAPI関数のフッキング等の手段により レジストリの更新が拒否されるケースが発生して来た為以下の対策を取った。 1、処理の全ての段階においてエラーが発生した場合詳細なエラーメッセージを表示。 2、バックアップファイルの作成にレジストリエディタを数回起動しているが、 これまではレジストリエディタの処理状況に関係なく連続して起動させていた。 それを、各段階ごとにレジストリエディタが処理を終了したのを確認してから、起動を 行うようにした。 何らかの原因で、ファイルの入出力が非常に重たい状態であったり、重いプロセスが 起動しておりレジストリエディタの処理が遅くなっている状態でもファイル関係の エラーが出にくくなる事が期待される。 3、スパイウェア等にレジストリへのアクセス妨害に対しては、対策は講じていない。 この点についての性能は前バージョンと同じである。 以上