티스토리 뷰

Reversing/ETC

[Reversing] IMAGE_SECTION_HEADER

정뚱띵 2019. 2. 12. 22:19
728x90
반응형

[Reversing] IMAGE_SECTION_HEADER


1. IMAGE_SECTION_HEADER


IMAGE_SECTION_HEADER 입니다.

IMAGE_SECTION_HEADER는 각각 섹션에 대한 정보가 저장되어 있습니다.

typedef struct _IMAGE_SECTION_HEADER {
BYTE Name[IMAGE_SIZEOF_SHORT_NAME];



union {
DWORD PhysicalAddress;
DWORD VirtualSize;
} Misc;
DWORD VirtualAddress;
DWORD SizeOfRawData;
DWORD PointerToRawData;
DWORD PointerToRelocations;
DWORD PointerToLinenumbers;
WORD NumberOfRelocations;
WORD NumberOfLinenumbers;
DWORD Characteristics;
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;

IMAGE_SECTION_HEADER 구조체 입니다.


각 필드들을 알아보겠습니다.


1.1 Name

섹션의 이름을 나타내는 필드로 .text, .data등과 같은 이름이 들어가며 길이는 8자라고 합니다.(길이가 길 경우 앞에서부터 8자)

PEview, HxD 통해 직접 확인해보세요.


1.2 VirtualSize

PE 파일인 경우 사용되는 필드입니다. 그리고 섹션이 메모리상에서 갖는 크기를 저장합니다.

해당 값 확인 후 변환해보시면 해당 바이트만큼 공간을 차지한다는 것 입니다.


1.3 RVA

해당 섹션이 메모리 상에 올라갈때, 섹션이 시작하는 주소의 RVA 값을 가지고 있습니다.


1.4 PointerToRawData

해당 필드는 파일에서의 offset값을 가지고 있는 것입니다. (파일에서의 시작하는 위치)


1.5 SizeOfRawData

해당 필드는 파일의 섹션에 대한 내용을 담고 있습니다.


1.4, 1.5 필드를 통해 다음 섹션의 시작 offset을 알 수 있겠죠? 


2. 섹션의 종류



728x90
반응형
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today