EMETインストール後にワードパッドが起動できなくなった

EMETの機能でワードパッドの起動が妨げられていた。

Enhanced Mitigation Experience Toolkit (EMET)は、Microsoft社が配布している脆弱性緩和ツール。

OS: Windows8 32bit
EMET: Version 5.0 Technical Preview

今回はワードハッドでしたが、同様にIEなどが動かなくなることもあるそうです。

解決策

  1. EMET のメイン画面で上部のでAppsボタンをクリックして、Application Configuration画面を開く。
  2. MitigationsのところのAllタブを選択。
    アプリケーションの一覧をスクロールして、最下段のWordpad.exeを表示させる。
  3. Wordpad.exeの行のSEHOPのチェックを外す。
    右下のOKをクリック。

SEHOPのチェックを外した場合、ワードパッド起動 ◎
SEHOPのチェックを入れる他場合、ワードパッド起動 ×

― これを何度か繰り返していたら、いつのまにかチェックを外さなくても起動できるようになっていました。

実は原因を突き止めるまで紆余曲折が……。

確認、試してみたこと、あれこれ。

  1. Windows8 PCで、RTFファイルが開けなかった。

    rtf形式のファイルはワードパッドで起動するように設定済。

    エラーメッセージなし。

  2. ワードパッドを起動してみるが起動しない。

    エラーメッセージなし。

  3. 「Microsoft WordでRTFコンテンツを開くのを無効にする」のfix itを適用を解除。

    Microsoft Fix it 51011を実行 →このPCには関係ないとダメ出しを喰らう。

    そもそもOfficeのWordを入れてなかった。

    [MS14-017] Microsoft Word および Office Web Apps の脆弱性により、リモートでコードが実行される。(2014 年 4 月 8 日)
    https://support.microsoft.com/ja-jp/help/2949660/ms14-017-vulnerabilities-in-microsoft-word-and-office-web-apps-could-allow-remote-code-execution-april-8,-2014#FixItForMe

    (この脆弱性については修正パッチが公開済)

  4. RTFファイルを扱える他のソフトを起動。

    RTFファイルを開くことができた。ファイルそのものは異常なし。

  5. イベントビューアーに、Wordpad.exeのApplication Errorが記録されていた。

    ログの名前: Application
    ソース: Application Error
    日付:
    イベント ID: 1000
    タスクのカテゴリ: (100)
    レベル: エラー
    キーワード: クラシック
    ユーザー: N/A
    コンピューター:

    説明:
    障害が発生しているアプリケーション名: wordpad.exe、バージョン: 6.2.9200.16548、タイム スタンプ: 0x513192fa
    障害が発生しているモジュール名: KERNELBASE.dll、バージョン: 6.2.9200.16864、タイム スタンプ: 0x531d2c84
    例外コード: 0x000006ba
    障害オフセット: 0x00011a65
    障害が発生しているプロセス ID: 0x1680
    障害が発生しているアプリケーションの開始時刻: 0x01cf80f80e1add89
    障害が発生しているアプリケーション パス: C:\Program Files\Windows NT\Accessories\wordpad.exe
    障害が発生しているモジュール パス: C:\Windows\system32\KERNELBASE.dll
    レポート ID: 4bd34f59-eceb-11e3-afea-00261844f357
    障害が発生しているパッケージの完全な名前:
    障害が発生しているパッケージに関連するアプリケーション ID:

  6. KERNELBASE.dllのエラーについて

    イベントビューアーのエラーログに、障害が発生しているモジュール名: KERNELBASE.dll とあったため、ネットで調べた。KERNELBASE.dllのトラブルは多数見つかったが、解決方法が見当たらない。(→ずっとあとで見つかった。それについては次章にて)

  7. システムファイルの修復

    管理者権限でコマンドプロンプトを起動し、sfc /scannow コマンドを実行ー。

    さらに、Dism /Online /Cleanup-Image /RestoreHealth も実行。

    何かが修復されたようだが、ワードパッドの方はやはり起動できなかった。

  8. ワードパッドのアンインストール・再インストールを試みるができなかった。

    Windows8のコントロールパネル→プログラムと機能→Windowsの機能の有効化と無効化
    そきにはアクセサリやワードパッドの項目がなく、アンインストールできない。

  9. ワードパッドのアンインストールするために、非表示なWindows付属ソフトを表示させる方法を探した。

    プログラムの追加と削除で非表示のアイテムを削除する (Windows 2000,XP,WindowsServer 2003)
    http://www.atmarkit.co.jp/fwin2k/win2ktips/617adddelinf/adddelinf.html

    この方法はXPでは使えたが、Windows8では使えなかった。(Windows8のCドライブには、sysoc.inf、Wordpad.infが存在しない)

  10. ワードパッドを初期化

    アンインストールができないため、代わりにレジストリを削除して初期化してみる。

    管理者権限でregedit.exeを起動。
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Wordpad
    このWordpadキーを削除し、PC再起動。

    それでもワードパッドが起動しない。

  11. セキュリティソフトの設定

    ワードパッドに関する設定はしていなかったため、関係なし。

  12. Windows Defenderの設定

    使用中のセキュリティソフトによって無効にされているため、これも無関係

  13. 過去いじったことのある管理ツールの設定の見直し

    サービス
    ローカルグループポリシーエディタ
    タスクスケジューラ

    それらの中にワードパッドに関係ありそうなものは無かった。

KERNELBASE.dllとEMET

1か月ほど前にWindows8を再インストールして以降、1度もワードパッドを使っていなかったため、インストールが不完全だった可能性もありました。

しかし、最後の悪あがきでググっていたら、KERNELBASE.dllEMETの関連を指摘しているページを発見。

それは、「何でもパソコン110番」というサイトのQ&A。KERNELBASE.dll関連の質問に対して、イベントビューアのエラーログを見ながら的確なアドバイスをしている回答者さんがいました。

ありがたや。
そしてEMET……忘れてました。

結局、解決するまでに合計半日ほど掛かりました。

Process Explorerなどを使って、ワードパッドをクリックしたときの状況をモニターしたら、 EMETがwordpad.exeを制御しているのが分かったかもしれません。気付くのが遅すぎました。

関連記事