본문 바로가기
리버싱/기타

PE 섹션 헤더 추가할 때 고려해야할 점들

by 즉흥 2015. 7. 21.
728x90
반응형


섹션 추가하려는 것 자체가 PE에 대해 어느정도 알고 있다는 것이기 때문에


각 멤버들이 의미하는 것들에 대한 설명은 생략.




Section Alignment

File Alignment


우선 모든 기준이 되는 위의 두 가지.




Virtual Size, RVA, Size of Raw Data, Pointer to Raw Data, Size of Image



그리고 윗 것들 모두 Alignment의 배수가 되어야 함.


Section Alignment : Virtual Size, RVA, Size of Image

File Alignment : Size of Raw Data, Pointer to Raw Data


ImageNTHeader.OptionalHeader.SizeOfImage =

 ImageSectionHeaders[num + NumAddSections - 1].VirtualAddress

+ ImageSectionHeaders[num + NumAddSections - 1].Misc.VirtualSize;



file size


마지막으로 섹션을 추가해줬으니 그만큼 파일의 크기도 늘려주어야 함.

Size of Raw Data, Pointer to Raw Data를 고려하여 적절히 늘려주자.


PE 구조에 file size라는 멤버가 있다는 의미가 아니고, 추가된 섹션만큼 NULL 값이라도 채워야 한다는 의미이다.




728x90
반응형

댓글