다음을 통해 공유


PEHeader 클래스

정의

PE(이식 가능한 실행 파일) 파일 헤더를 나타냅니다.

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
상속
PEHeader

예제

이 예제에서는 PE 헤더에서 정보를 읽는 방법을 보여줍니다.

// Open the Portable Executable (PE) file
using var fs = new FileStream(@"Example.dll", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using var peReader = new PEReader(fs);

// Display PE header information
if (peReader.PEHeaders.PEHeader is PEHeader header)
{
    Console.WriteLine($"Image size, bytes:   {header.SizeOfImage}");
    Console.WriteLine($"Image base:          0x{header.ImageBase:X}");
    Console.WriteLine($"File alignment:      0x{header.FileAlignment:X}");
    Console.WriteLine($"Section alignment:   0x{header.SectionAlignment:X}");
    Console.WriteLine($"Subsystem:           {header.Subsystem}");
    Console.WriteLine($"Dll characteristics: {header.DllCharacteristics}");
    Console.WriteLine($"Linker version:      {header.MajorLinkerVersion}.{header.MinorLinkerVersion}");
    Console.WriteLine($"OS version:          {header.MajorOperatingSystemVersion}.{header.MinorOperatingSystemVersion}");
}

설명

PE 파일 헤더 형식은 PE 사양에 의해 정의됩니다. 이 클래스는 속성에서 PEHeader 사용됩니다.

속성

AddressOfEntryPoint

PE 파일이 메모리로 로드될 때 이미지 기준에 따라 진입점의 주소를 가져옵니다.

BaseOfCode

이미지가 메모리에 로드될 때 이미지 기준에 따라 코드 시작 섹션의 주소를 가져옵니다.

BaseOfData

이미지가 메모리에 로드될 때 이미지 기준에 따라 데이터 시작 섹션의 주소를 가져옵니다.

BaseRelocationTableDirectory

기본 재배치 테이블 항목을 가져옵니다.

BoundImportTableDirectory

바인딩된 가져오기 테이블 항목을 가져옵니다.

CertificateTableDirectory

특성 인증서 테이블을 가리키는 인증서 테이블 항목을 가져옵니다.

CheckSum

이미지 파일 체크섬을 가져옵니다.

CopyrightTableDirectory

Copyright Table 항목을 가져옵니다.

CorHeaderTableDirectory

CLI 헤더 테이블 항목을 가져옵니다.

DebugTableDirectory

디버그 테이블 항목을 가져옵니다.

DelayImportTableDirectory

테이블 가져오기 항목을 Delay-Load 가져옵니다.

DllCharacteristics

동적 링크 라이브러리의 특성을 가져옵니다.

ExceptionTableDirectory

예외 테이블 항목을 가져옵니다.

ExportTableDirectory

테이블 내보내기 항목을 가져옵니다.

FileAlignment

이미지 파일의 섹션 원시 데이터를 정렬하는 데 사용되는 맞춤 요소(바이트)를 가져옵니다.

GlobalPointerTableDirectory

전역 포인터 테이블 항목을 가져옵니다.

ImageBase

이미지를 메모리로 로드할 때 이미지의 첫 번째 바이트의 기본 주소를 가져옵니다.

ImportAddressTableDirectory

주소 테이블 가져오기 항목을 가져옵니다.

ImportTableDirectory

테이블 가져오기 항목을 가져옵니다.

LoadConfigTableDirectory

구성 테이블 로드 항목을 가져옵니다.

Magic

이미지 파일의 형식을 식별하는 값을 가져옵니다.

MajorImageVersion

이미지의 주 버전 번호를 가져옵니다.

MajorLinkerVersion

링커 주 버전 번호를 가져옵니다.

MajorOperatingSystemVersion

필수 운영 체제의 주 버전 번호를 가져옵니다.

MajorSubsystemVersion

하위 시스템의 주 버전 번호를 가져옵니다.

MinorImageVersion

이미지의 부 버전 번호를 가져옵니다.

MinorLinkerVersion

링커 부 버전 번호를 가져옵니다.

MinorOperatingSystemVersion

필수 운영 체제의 부 버전 번호를 가져옵니다.

MinorSubsystemVersion

하위 시스템의 부 버전 번호를 가져옵니다.

NumberOfRvaAndSizes

PEHeader의 나머지 부분에 있는 데이터 디렉터리 항목 수를 가져옵니다. 각 항목은 위치와 크기를 설명합니다.

ResourceTableDirectory

리소스 테이블 항목을 가져옵니다.

SectionAlignment

메모리에 로드되는 섹션의 맞춤(바이트)을 가져옵니다.

SizeOfCode

코드(텍스트) 섹션의 크기 또는 모든 코드 섹션의 합계(여러 섹션이 있는 경우)를 가져옵니다.

SizeOfHeaders

FileAlignment의 배수로 반올림된 MS DOS 스텁, PE 헤더 및 섹션 헤더의 결합된 크기를 가져옵니다.

SizeOfHeapCommit

커밋할 로컬 힙 공간의 크기를 가져옵니다.

SizeOfHeapReserve

예약할 로컬 힙 공간의 크기를 가져옵니다. SizeOfHeapCommit만 커밋되고, 나머지는 예약 크기에 도달할 때까지 한 번에 한 페이지씩 사용할 수 있습니다.

SizeOfImage

이미지가 메모리에 로드될 때 모든 헤더를 포함한 이미지의 크기(바이트)를 가져옵니다.

SizeOfInitializedData

초기화된 데이터 섹션의 크기 또는 모든 초기화된 데이터 섹션의 합계(여러 데이터 섹션이 있는 경우)를 가져옵니다.

SizeOfStackCommit

커밋할 스택의 크기를 가져옵니다.

SizeOfStackReserve

예약할 스택의 크기를 가져옵니다. SizeOfStackCommit만 커밋되고, 나머지는 예약 크기에 도달할 때까지 한 번에 한 페이지씩 사용할 수 있습니다.

SizeOfUninitializedData

초기화되지 않은 데이터 섹션(BSS)의 크기 또는 모든 초기화된 데이터 섹션의 합계(여러 BSS 섹션이 있는 경우)를 가져옵니다.

Subsystem

이 이미지를 실행하는 데 필요한 하위 시스템의 이름을 가져옵니다.

ThreadLocalStorageTableDirectory

Thread-Local Storage 테이블 항목을 가져옵니다.

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상