スキップしてメイン コンテンツに移動

Windows操作中たまにDOS窓っぽいものが立ち上がって一瞬で消える現象

表題のようなことが起きており、調査していた。 なおDOS窓というのはWindowsのコンソールウィンドウのことなのだが、もう死語かもしれない。


調査手法

調査、といっても、いきなり現れて一瞬で消えるウィンドウの正体を探るのは結構難しい。

「今のなんだ!?」でタスクマネージャーを起動しても、そのときには該当のアプリはいなくなっているわけで、何もわからず終わる。

ちなみにタスクスケジューラやスタートアップ項目を見ても変なプロセスの自動実行エントリは見つからなかった。


自分では思いつかないのでAIにいい調査方法がないかを聞いてみたところ、プロセス作成のたびセキュリティログを残すようにしてはどうかと言われる。方法は管理者powershellで

auditpol /set /subcategory:"Process Creation" /success:enable

を実行するだけ。


すると以後、すべてのプロセス作成がイベントビュアーに時刻付きで現れるようになる。

Chromeでタブを作るたびにログがどんどん増える


他にProcess Monitorを使った方法なども提案されたが、こちらは相手を捕まえるべくずっとキャプチャを続けているとログ行数が膨大になり扱いが難しかったので、一旦候補から外した。


イベントビュアーから候補を絞る

正体不明のウィンドウが立ち上がった瞬間ごろのログで確認できた新規作成プロセスのうち、私がよくわからなかったものは以下の2つ。

  • sendctrlc.x64.B02191CB70385B094C410A8C27775ABA.exe
    • 名前が見るからに怪しい;偏見
    • JetBrainsの開発環境であるGoLandが持っているプロセスらしい
    • しかし該当時間帯にGoLandはバックグラウンドに放置されており、特に触ってはいなかった
  • firefox.exe
    • Firefoxはいいんだが、このタイミングでプロセス作成されたのが謎
    • というのも、普段Firefoxは使っておらずこのときも起動すらさせていなかったため


前者は Send Ctrl+C x64 という名前のとおりで、子プロセスにCtrl+Cを送るための小さなアプリケーションらしい。IDEなど開発ツールではよく見られる実装パターンだという。

IDE内ではビルトインのコンソールを起動することがよくある。コンソールでCtrl+Cを押したつもりでも実際は一旦上位にあたるIDE自体にキャプチャされるので、それをコンソール側に投げ渡す必要があり、そのためにこういったものが存在するらしい。

この説明に違和感はなかったので被疑対象からひとまず外すことにした。すると残るはFirefoxである。


Firefox、まさかお前か?

何はともあれFirefoxを立ち上げてみる。

するとメイン画面の表示前にいきなりアップデートが開始(ver.A→B)されて、更新後の状態(ver.B)で立ち上がってきた。


これはおかしな挙動だ。

前回起動の時点でFirefoxは当時の最新版(A)にしてあったので、一度はFirefox自身が最新だと思っているはずのAの環境で立ち上がるはずだ。

Bへの更新をFirefoxが知るのは、メイン画面が表示されて更新チェックが走ってからのはずである。


設定画面を確認すると「Firefox を実行していない時に更新する(W)」なる、いかにもなオプションが増えている。これ前からあったっけ? わからない。


恐らく不定期で立ち上がっていたDOS窓らしきものは、これの更新チェックプロセスだったのではないだろうか。

実際、オプションを無効にしてから数日運用してみたところ、問題の現象は再現しなくなっている。


その他

DOS窓っぽいものが出てきてしまうという挙動変化があったのは最近のことだ。

更新チェックプロセスの起動経路としては Mozilla Maintenance Service が使われたと見るのが自然だが、このサービス自体は太古のバージョンからある。

DOS窓さえ出なければ、作業中にフォーカスを奪われて中断になることはなくなる。更新チェック自体は好ましいものであるのだから、この挙動が解消した折にはバックグラウンド更新を有効に戻したい。


コメント