マルウェアなんでも雑談掲示板

1085644

ブルースクリーンになったら。。。。(2) - お馬鹿牛

2017/05/17 (Wed) 15:02:23

とりあえず、2回目。。。。
前回のは↓こっち。

------------------------
ブルースクリーンになったら。。。。(1)
http://ore-sama123.bbs.fc2.com/?act=reply&tid=5645029
------------------------

ダンプ ファイルについて、ダラダラとした長文で説明してもピンと来ないと思うので、とっととダンプ ファイルの開き方を提示しておきます。
(ダンプ解析にはそれなりに専門的な知識が必要ですが、ダンプを開くだけなら、誰にでもできるので。)

**********************************************************
以下にダンプ解析の手順を示します。

+++++++++++++++++++++++++++++++++++++++++++
ダンプ解析に必要なツールは、"WinDBG" というアプリケーションになります。
(必要なソフトは、基本的にこれだけ。)
"WinDBG" は、マイクロソフト社が無償で配布している SDK に同梱されています。
現状では Windows 10 をサポートした "Windows 10 SDK" で、最新の "WinDBG" が提供されています。
"Windows 10 SDK" は、下記サイトからダウンロードできます。

------------------------------
Windows 10 SDK
https://dev.windows.com/ja-jp/downloads/windows-10-sdk
------------------------------

"Windows 10 SDK" はソフトウェア エンジニア向けの開発キットで、この中には "WinDBG" 以外にも色々と使えるツールが同梱されています。
(たとえば "Application Verifier" とか。)
でも説明が面倒なので、そこはすっ飛ばします。キリッ
"WinDBG" だけをインストールしたいのであれば、インストール画面で <Debugging Tools for Windows> だけをチェック状態にしてクリックしていけば、完了できます。
とりあえず、下記サイトあたりが参考になるかも。

------------------------------
Debugging Tools for Windows(WinDbg)を導入する(Windows10世代)
https://www.riscascape.net/archives/5653
------------------------------

上記サイトから WinDBG をインストールしたら、下記サイトを参考にシンボルファイルパスの設定をします。
(下記サイトでも言及されていますが、この "シンボル ファイル パス" の設定は非常に重要です。)
------------------------------
メモリダンプに !analyze -v するまで・後編 ~ ダンプを開く~
https://blogs.msdn.microsoft.com/jpwdkblog/2009/06/11/analyze-v/

4. シンボルファイルの設定
------------------------------

"シンボル ファイル パス" の設定が完了したら、ダンプを開いてみてください。
ダンプ ファイルのファイル拡張子は ".dmp" です。
"C:\Windows" あるいは "C:\Windows\Minidump" フォルダから ".dmp" ファイルを探し、そのファイルを "WinDBG" ツールで開いてみてください。
なお、今までに一度もブルースクリーンになったことのない PC なら、ダンプ ファイルは生成されていないので、探しても見つかりません。
だだ、アプリケーション クラッシュぐらいは大抵どの PC でも起きているので、プロセス ダンプはどっかにあるかも。

ダンプ ファイルがなかったら、自分で「意図的に」生成させることもできます。
例えば、↓このツール使うとか。

---------------------------------
NotMyFault v4.01
https://technet.microsoft.com/en-us/sysinternals/notmyfault.aspx
---------------------------------

上記ツールを使わなくても、Windows システムにはブルースクリーンを発生させる機能もあるんです。

---------------------------------
How to generate a kernel dump file or a complete memory dump file in Windows Server 2003
https://support.microsoft.com/en-us/help/972110/how-to-generate-a-kernel-dump-file-or-a-complete-memory-dump-file-in-windows-server-2003

Step 6: Generate a manual memory dump by using the keyboard

<PS/2 keyboard>
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]

<USB keyboard>
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters]

Name : CrashOnCtrlScroll
Data Type : REG_DWORD
Value : 1
---------------------------------
+++++++++++++++++++++++++++++++++++++++++++
**********************************************************

ところで、マイクロソフトがなんでブルースクリーンを発生させるアプリの提供や、Windows 自体にをブルースクリーンを「意図的に」発生させる機能を実装させているのか、不思議に思いませんか?
。。。いえ、不思議に思わないんだったら、別にいいんですけど。


。。。。ホントはもっと短く簡潔にまとめたかったけど、またダラダラな長文になってしまったので、今日はこれでおしまい。
次回は一般的なコマンドとその機能について説明する予定です。

Re: ブルースクリーンになったら。。。。(2) - 管理人です

2017/05/17 (Wed) 19:33:46

➊【ところで、マイクロソフトがなんでブルースクリーンを発生させるアプリの提供や、Windows 自体にをブルースクリーンを「意図的に」発生させる機能を実装させているのか、不思議に思いませんか?。。。いえ、不思議に思わないんだったら、別にいいんですけど】



米国のトランプ大統領以外は「みんな」不思議に思ってます。ですから「ぜひ」解説してください(お時間のある時に)。


➋【ホントはもっと短く簡潔にまとめたかったけど、またダラダラな長文になってしまったので、今日はこれでおしまい】



もっと「ダラダラ」と長文で書いて頂いても当掲示板的には、一向に構いませんよ。牛さんが「満足するまで」徹底的に書いてください。簡潔にまとめてほしいというリクエストはしておりませんし、10万文字、100万文字、1億文字?投稿して頂いても全く問題ありません。牛さんが書きたいと思うことを「書きたいだけ」書いてください。一般的userさんにとって、貴重な「学びの場」になるからです。

今頃「ママ姐女史」も熟読してダンプファイルの勉強をしているはずです

➌とにかく「好きなだけ」投稿してください。自己規制、自主規制は一切必要ありませんのでね。牛さんのペースで、好きなように当掲示板を使ってください。当掲示板には「蛇崩れ」だとかプログラマでもないのに「プログラマ」を詐称するWSP爺のような阿呆は住み着いておりませんので。遠慮なく、風の吹くまま気の向くまま投稿されてください。楽しみにしています。

Re: ブルースクリーンになったら。。。。(2) - お馬鹿牛

2017/05/18 (Thu) 18:47:28

ちょっと本業方ででお尻に火がついちゃったので、次の投稿はちょっと先になるかもしれませんが、とりあえず、Windows システムになぜブルースクリーンを発生させる機能が実装されているかについてだけ。。。。

ダンプ ファイルには、色々な種類があります。
代表的なものとしては。。。。

☆ 最小メモリ ダンプ
☆ カーネル メモリ ダンプ
☆ 完全メモリ ダンプ

上記以外にも、アプリケーションがクラッシュしたときに生成可能な、ユーザー モード空間の情報だけに特化した「プロセス ダンプ」というものもあります。
余談ですが、「アプリが起動できない」あるいは「アプリが強制終了する」といった問題が発生した場合には、WER (Windows Error Report) の機能を使って問題発生時のプロセス ダンプを採取し、それを解析することで原因を調べる。。。なんてケースが良くあります。

話を元に戻して。。。。。
「完全メモリ ダンプ」は、物理メモリ上のすべての情報をダンプ ファイルに保存してくれます。
つまり「完全メモリ ダンプ」のサイズは、PC に搭載されている物理メモリのサイズと同じ。
ですので pagefile.sys に退避 (ページ アウト) されてしまった情報は、「完全メモリ ダンプ」には残りません。
残るのは、あくまでも物理メモリ上の情報だけ。

で、そんなもんを「意図的に」採取して、何が嬉しいのか?
実は、とっても嬉しいのです。
例えば、「PC がハングするんだけど、何が原因なのかさっぱりわからん」とか「最近 PC の挙動がなんか変なんだけど、タスクマネージャーとかで確認しても異常は見つからないし。。。」なんてときは、「完全メモリ ダンプ」はとっても役に立ちます。
問題発生時に「意図的に」採取された「完全メモリ ダンプ」は、ライブ デバッグでブレークインしているのと同じ意味を持ちます。
違うのは、そこから先に進めないことだけ。
つまり、問題が起きている PC 環境の、任意のタイミングでのスナップショットが保存できる、ということです。
ソフトウェア開発者にとって、お客様環境でしか再現できない問題は、とても厄介です。
特にハング現象などは、その状態からは何も操作できないので、お客様になにかを調べてもらう訳にもいきません。
こんな時に、キーボード クラッシュで「完全メモリ ダンプ」を採取してもらいそれを解析することで、ハングの原因を特定できるケースが結構あるのです。
あるいは新種のウィルスに感染して PC の挙動がおかしくなった時なども、タスク マネージャやセキュリティ対策ソフトでのチェックで問題が検出されなくても、「完全メモリ ダンプ」を確認したらとっても怪しげなドライバがロードされていた。。。なんてこともあるのです。
(牛は二度だけその経験があります。)
Windows では、アプリケーションや各種ツール類など「目に見える」プロセス以外も、各種サービスやドライバといった「目に見えない」プロセスが多数動作しています。
もっと言えば、「目に見える」プロセスよりも「目に見えない」プロセスの方が、はるかに多く実行されています。
"sysinternals" という会社が提供している "Process Explorer" や "Process Monitor" といったツールを用いれば、「目に見えない」プロセスの概要ぐらいは確認できますけど、「完全メモリ ダンプ」にはそれ以上の情報が含まれているのです。

そんなこんなで、ハング問題等でライブ デバッグを実施できない場合に、キーボード クラッシュで採取できる「完全メモリ ダンプ」は、とても役に立つのです。

Re: ブルースクリーンになったら。。。。(2) - 管理人です

2017/05/18 (Thu) 21:17:04

大変勉強になります。続編がたのしみ、楽しみ。わくわくしてきますね、涌井投手(寒)。本業が忙しいとのこと。お時間ができた時に、また、ダンプファイル講座お願いします。多くの閲覧者さんたちが、続編を楽しみに待っていると確信しています。

Re: ブルースクリーンになったら。。。。(2) - 管理人です

2017/06/21 (Wed) 14:22:55

ブルースクリーンエラーその1
http://ore-sama123.bbs.fc2.com/?act=reply&tid=5645029


ブルースクリーンエラーその2
http://ore-sama123.bbs.fc2.com/?act=reply&tid=5646703


ブルースクリーンエラーその3
http://ore-sama123.bbs.fc2.com/?act=reply&tid=5674802

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.