2019
10
27

Windowsにおけるプロセスメモリの内訳


|-------------------------|
| Dynamic DLLs |
|-------------------------|
| Environment variables |
|-------------------------|
| PEB |
|-------------------------|
| Process heap |
|-------------------------|
| Thread 1 stack |
|-------------------------|
| Thread 2 stack |
|-------------------------|
| Mapped file(s) |
| Application data |
|-------------------------|
| Executable |
|-------------------------|

※上記はあくまで一例であり、必ずしも、この順番通りの配置であるとは限らない。Thread stackがExecutableよりも下位のアドレスに配置されることもあり得るし、Mapped fileの内容がプロセス空間全体にまたがっていて、ひとかたまりでない場合もあり得る。

Dynamic linked libraries (DLLs): プロセスによってアドレス空間にロードされる共有ライブラリ(DLL)が格納されている。

Environment variables: 実行パス、一時ディレクトリ、ホームディレクトリなど、プロセスの環境変数が格納されている。

Process Environment Block (PEB): プロセスのフルパス、プロセスのコマンドライン引数、カレントディレクトリ、ヒープ・ポインタ、プロセスのハンドル、プロセスによってロードされるDLLのフルパスなど、プロセスに関する情報が格納されている。

Process heaps: プロセスが受け取る動的な入力情報が格納されている。例えば、Emailやドキュメントの入力情報や、ネットワークソケットの送受信データなど。

Thread stacks: 関数の引数、戻りアドレス、ローカル変数などの情報が格納されている。

Mapped files and application data: Mapped filesにはディスク上のファイルの内容が格納されている。コンフィグ情報やドキュメントデータなどがこれに当たる。Application dataにはプロセスがその目的を達成するために必要な情報が含まれている。Mapped filesとapplication dataの内容はプロセスの内容によって変わってくる。

Executable: コード本体およびアプリケーションの読み取り・書き込み用の変数が格納されている。これらのデータはディスク上では圧縮化または暗号化されている場合もあるが、メモリへのロード時にアンパックされる。

参考
The Art of MEMORY FORENSICS (Wiley出版) ⅡWindows Memory Forensics, 7 Process Memory Internals P.190 - 191
Comment



Only the blog author may view the comment.


Trackback
Trackback URL

«  | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード