1. Physical education2. Private Equity3. Pectus Excavatum4. Potential energy5. Premature ejaculation6. Public Execution7. Penis enlargement8. Pulmonary embolism9. 미국의 힙합그룹 Public Enemy10. Pernambuco11. Prince Edward (Island)12. Port Elizabeth13. Poly Ethylene14. Peru15. 마인크래프트: Pocket Edition16. Preinstallation Environment17. Portable Executable
17.1. PE 파일 구조
1. Physical education
자세한 내용은 체육 문서 참고하십시오.2. Private Equity
자세한 내용은 사모 펀드 문서 참고하십시오.3. Pectus Excavatum
자세한 내용은 함몰흉 문서 참고하십시오.4. Potential energy
자세한 내용은 퍼텐셜 에너지 문서 참고하십시오.5. Premature ejaculation
자세한 내용은 조루 문서 참고하십시오.6. Public Execution
자세한 내용은 공개처형 문서 참고하십시오.7. Penis enlargement
자세한 내용은 음경확대 문서 참고하십시오.8. Pulmonary embolism
자세한 내용은 폐색전증 문서 참고하십시오.9. 미국의 힙합그룹 Public Enemy
자세한 내용은 퍼블릭 에너미 문서 참고하십시오.10. Pernambuco
브라질의 주.자세한 내용은 페르남부쿠 문서 참고하십시오.
11. Prince Edward (Island)
캐나다의 주.자세한 내용은 프린스에드워드아일랜드주 문서 참고하십시오.
12. Port Elizabeth
남아공의 도시. 남아공 월드컵때 이 도시에 위치한 넬슨 만델라 베이 스타디움에서 대한민국이 그리스를 상대로 2:0으로 승리했다.13. Poly Ethylene
자세한 내용은 폴리에틸렌 문서 참고하십시오.14. Peru
페루를 뜻하는 부호, PE. ISO 3166-1 alpha-2 및 NATO 국가 코드.15. 마인크래프트: Pocket Edition
자세한 내용은 마인크래프트/포켓 에디션 문서 참고하십시오.참고: 문서가 오래되어 현재로선 맞지 않는 내용이 많으니 유의하자. 최신 문서는 마인크래프트/베드락 에디션에서 확인 가능하다.
16. Preinstallation Environment
자세한 내용은 Windows PE 문서 참고하십시오.17. Portable Executable
Microsoft Windows, IBM OS/2 및 EFI 의 실행 바이너리 포맷.
Windows 환경에서 직접 실행이 가능한 파일은 EXE, 모듈로 사용되는 경우 DLL을 확장자로 사용한다.
17.1. PE 파일 구조
실행 파일 내부에는 PE 구조체가 존재하고 이 구조체에는 실행에 필요한 정보들이 들어있다.먼저 첫번째에는 DOS 헤더 및 스텁이 들어간다. 윈도우 프로그램을 MS-DOS에서 실행해보면 'This program cannot be run in DOS mode.'라는 오류 메시지가 나오면서 실행되지 않은데, MS-DOS에서 윈도우용 프로그램이라서 출력한 것이 아닌 프로그램 내에서 출력된 것이다. 윈도우도 MS-DOS와 동일하게 실행 확장자로 EXE를 사용하기 때문에 윈도우 프로그램을 DOS 환경에서 실행하는 실수를 방지하기 위해 삽입된 오류 메시지다. 반면 윈도우 내에서 실행하면 DOS 헤더는 무시하고 바로 PE 헤더를 불러온다. 그러다보니 DOS 헤더 및 스텁 부분을 헥스 에디터로 전부 지워도 윈도우 내에서 제대로 작동한다.
두번째로는 PE 구조체가 들어간다. 윈도우 내에서 실행에 필요한 정보가 포함되어 있다. 프로그램 시작 지점(Entry Point), 서브시스템, 아키텍처, 등이다. 이중에서 서브시스템은 실행 환경을 말하는데 다음과 같다.
이름 | 값 | 설명 |
IMAGE_SUBSYSTEM_UNKNOWN | 0 | 알 수 없는 서브시스템 |
IMAGE_SUBSYSTEM_NATIVE | 1 | 서브시스템을 사용하지 않음[1]. 윈도우 내에서 실행할 수 없는 프로그램이다. |
IMAGE_SUBSYSTEM_WINDOWS_GUI | 2 | 윈도우 GUI 프로그램 |
IMAGE_SUBSYSTEM_WINDOWS_CUI | 3 | 윈도우 CUI 프로그램 |
IMAGE_SUBSYSTEM_OS2_CUI | 5 | OS/2 프로그램 |
IMAGE_SUBSYSTEM_POSIX_CUI | 7 | POSIX 프로그램 |
IMAGE_SUBSYSTEM_WINDOWS_CE_GUI | 9 | Windows CE GUI 프로그램 |
IMAGE_SUBSYSTEM_XBOX | 14 | Xbox 프로그램 |
세번째로는 섹션 헤더들이 들어가 있다.
.text
, .data
, .rdata
, .rsrc
등의 섹션 헤더가 있다. 밑부터는 해당 섹션 영역이다. .text
는 프로그램 코드, .data
는 전역/static 변수, .rdata
는 읽기 전용 변수, .rsrc
는 리소스가 들어가 있다. 또한 특수한 방법을 이용해 새로운 섹션을 추가할수도 있다.