メンバーエリア情報
010. Export Section
Category: 中級編> 18) 詳説PEファイルフォーマット
通常ウィルス、パッカー、シェルコード等はエクスポートセクションを走査してAPIアドレスを自前で解決するようになっています。こういうものの仕組みを理解したいと思っている人はしっかり理解するようにしてください
..........................................
009. Import Section
Category: 中級編> 18) 詳説PEファイルフォーマット
Win9x系とWinNT系(Win2k, WinXP) で全く異なるカーネルを用いていますが、同じEXEファイルが動作します。Win2kとWinXPでもカーネルは異なります。またDLLなんかはSP ( サービス・パック ) ごとに違う可能性が あります。このような事情があっても同一のEXEが実行できるのには、インポートセクションが 深く関係しています。
- EXEが実行される仕組みについて - ローダーの役割
- デバッガを使ってAPI呼び出しをしている部分をチェック
- インポートセクション
- インポートセクションの見つけ方
- メモリにロードされた後のIATをダンプする
..........................................
008. セクションテーブル ( Section Table )
Category: 中級編> 18) 詳説PEファイルフォーマット
Optional Header の直後には セクションテーブルが配置されます。セクションテーブルは IMAGE_SECTION_HEADER 構造体の配列になっていて、個々のセクションに対して一つの IMAGE_SECTION_HEADER が対応する形になっています。 この構造体は以下のように定義されていて、対応するセクションの位置、サイズ、特性等の情報が格納されています。またセクション数は COFF FileHeader ( IMAGE_FILE_HEAER ) のNumberOfSectionsに格納されています。
..........................................
007. データディレクトリ ( Data Directory )
Category: 中級編> 18) 詳説PEファイルフォーマット
PEファイルの中の重要なアドレス帳になっています。データディレクトリは、IMAGE_OPTIONAL_HEADER 構造体のメンバーで、IMAGE_DATA_DIRECTORY構造体の配列になっています。(前節参照)
IMAGE_DATA_DIRECTORY構造体は以下のように定義されていて、各種データのRVAとサイズが入っています。
..........................................
006. Optional Header
Category: 中級編> 18) 詳説PEファイルフォーマット
PEファイルの中で一番重要なフィールド。こいつは winnt.h の中で IMAGE_OPTIONAL_HEADER として定義されています。
..........................................





