メモマーゲーターNTSystemDebugControlを使用してメモリダンプを実行します。 | |
今すぐダウンロード |
メモマーゲーター ランキングとまとめ
広告
メモマーゲーター タグ
- メモリー 投げ捨てる キャッシュ イメージダンプ パスダンプ ダンプ許可 ダンプの設定 quant maticeをダンプします メモリダンプ NTシステムのデバッグ制御 メモリキャッシュ データダンプエディタ ディレクトリダンプ ファイルダンプ 情報をダンプします ヘッダーダンプ ダンプを作成します コンテンツをダンプする ダンプフォルダ svnadminダンプコマンド アカウント名をダンプします ダンプファイル ドキュメントダンプ メモリダンプを表示する メモリダンプを編集します 演奏する カーネルメモリダンプ メモリダンプアナライザ Dump環境設定データベース 進ダンプ ヒープダンプを分析します 16進数のダンプ ヒープダンプ ファイルのデバッガをダンプします デンプルエントリポイント 冗長ダンプ リソースをダンプする ダンプレコード アクセスダンプ。 MySQLのPHPのダンプ Borland Delphiの6 AVG Update 10.0.1424 ODBCダンプ iPod USB不明 BZ2コンプレッサー dvdstyler 1.8.3 メニュー のためのかわいい壁紙 仕事時間の亀裂 クロスファイヤー1031 Xbox 360 mp4 3Dチェスのubuntu wavへの法律 ストックインデックスSymbian CAB 2 PPD 画面ダンプ
メモマーゲーター 説明
Memimagerアプリケーションは、NTSystemDebugControlを使用してメモリダンプを実行するツールであるように設計されています。 NTSystemDebugControlを使用して投棄するために使用します 制御コード10の場合、次のレイアウトを入力バッファとして使用します。 - DWORD PhysicalAddress; - DWORD Reserved1; - void *バッファ - DWORDの長さ; 次に、バッファをポイントし、長さ4096を指定し、その内容をコピーしたいページのアドレスへのポイント物理アドレスをポイントします。その後、NTSystemDebugControlを実行し、すべてがうまくいった場合、バッファに物理ページ内のデータのコピーが含まれています。実際にはかなり簡単です。 NTSystemDebugControlの中 NTSystemDebugControlは、NTSystemDebugControlがキャッシングの問題を処理するかどうかを理解するために、カーネルに飛び込みを受ける必要があります。カーネルはNTSystemDebugControlというルーチンをエクスポートします。これには、コントロールコードに基づいて正しい機能へのディスパッチをタスクしたSWITCHステートメントが含まれています。以下では、コードのすべての小さな詳細については説明しません。最初の理由は、私たちが見ているものに関連しない多くの詳細があることです。 2番目のコードはコードを区別していませんが、(Windows Server 2003 SP0カーネルから)分解の関連部分のみが続きます。 コード処理制御コード10は、常駐している文書化されていないルーチン_exlockUserBufferを呼び出して、それらを常駐し、それらをメモリ内にロックし、(パラメータとして渡されたポインタで)それを指すシステムスペース仮想アドレスを返します。その後、_kdpcopymemoryChunksという名前の別の文書化されていない関数が呼び出されます。それに渡されたパラメーターは、私たちのバッファを指すシステムスペース仮想アドレス、コピーするバイト数、およびコピーするアドレス(physicAddress)を指します。 もう1つの文書化されていない関数は、_mmdbgCopymemoryと呼ばれます。この関数はデータの実際のコピーを実行します。しかし、それがコピーすることができる前に、物理アドレスの代わりにソースの仮想アドレスを持つ必要があります。したがって、それは私たちの最後に文書化されていない関数を呼び出します:_midBgTranslatePhysicalAddress。今、私たちは本当に私たちの質問への答えを閉めています。 _midBgTranslatePhysicalAddressは、物理アドレスをパラメータとして受け取ります。その後、_validkernelpteという変数を使用します。これは、カーネルPTEの一種のテンプレートとして機能します。テンプレートからのフラグは物理アドレスと組み合わされて、コピーしたいページを指すPTEを形成します。その後、PFNデータベースに索引付けされて、当社のソースページに対応するエントリが見つかります。このエントリでは、カーネルはu3.e1メンバーのCacheattributeフラグを調べます。その後、CacheAttributeフラグはPTE内のPATインデックスを設定するために使用されます。今私たちは本当に私たちの答えを持っていますが、とにかくもう少し小さなビットを続けるでしょう。カーネルが構築されたPTEは、カーネル変数_mmdebugpteによって指摘された場所にコピーされました。最後に、この関数はマッピングにPTEを使用する仮想アドレスを返します。今すぐ_MMDBGCopyMemoryは、仮想アドレスのみを使用して物理ソースページからのデータを自由にコピーすることができます。
メモマーゲーター 関連ソフトウェア