PE 포맷

Portable Executable
파일 확장자.acm, .ax, .cpl, .dll, .drv, .efi, .exe, .mui, .ocx, .scr, .sys, .tsp
인터넷 미디어 타입
application/vnd.microsoft.portable-executable[1]
개발현재 마이크로소프트
포맷 종류이진, 실행 파일, 오브젝트, 공유 라이브러리
다음으로부터 확장DOS MZ 실행 파일
COFF

PE 포맷(Portable Executable)은 윈도우 운영 체제에서 사용되는 실행 파일, DLL, object 코드, FON 폰트 파일[2] 등을 위한 파일 형식이다. PE 포맷은 윈도우 로더가 실행 가능한 코드를 관리하는데 필요한 정보를 캡슐화한 데이터 구조체이다. 이것은 링킹을 위한 동적 라이브러리 참조, API 익스포트와 임포트 테이블, 자원 관리 데이터 그리고 TLS 데이터를 포함한다. 윈도우 NT 운영체제에서, PE 포맷은 EXE, DLL, SYS (디바이스 드라이버), 그리고 다른 파일 종류들에서 쓰인다. 통일 확장 펌웨어 인터페이스 (EFI) 설명서는 PE가 EFI 환경에서 표준 실행 파일 형식이라고 언급한다.[3]

윈도우 NT 운영 체제에서, PE는 현재 IA-32, IA-64, x86-64 (AMD64/Intel64), 그리고 ARM instruction set architectures (ISAs)를 지원한다. 윈도우 2000 이전에서, 윈도우 NT는 (그리고 PE) MIPS, Alpha, 그리고 파워PC ISAs를 지원했다. PE가 윈도우 CE에서 사용되므로 이것은 MIPS, ARM (Thumb 포함), 그리고 SuperH ISA의 변형들을 지원하고 있다.

PE와 비슷한 형식으로 ELF (리눅스와 대부분의 다른 유닉스 버전들) 와 Mach-O (Mac OS X)가 있다.

역사

마이크로소프트는 윈도우 NT 3.1 운영 체제의 도입과 함께 PE 포맷으로 옮긴다. 윈도우의 이후 버전들도 이 형식을 지원한다. 이 형식은 도스와 NT 시스템 사이의 차이를 연결하기 위한 한정된 유산을 가지고 있다. 예를 들면, PE/COFF 헤더들은 아직도 MS-DOS 실행 파일을 포함한다. 기본적으로 이것은 "This program cannot be run in DOS mode" 메시지를 보여주는 스텁이다.[4] PE는 또한 윈도우 플랫폼의 변화를 계속해서 지원한다. 이것들은 .NET PE 포맷, PE32+로 불리는 64비트 버전 (가끔은 PE+), 그리고 윈도우 CE를 위한 명세서가 있다.

기술적 세부사항

레이아웃

32비트 PE의 구조

PE 파일은 동적 링커에게 파일을 메모리로 어떻게 매핑할지 설명하는 많은 헤더들과 섹션들로 이루어져 있다. 실행 가능한 이미지는 (각각 다른 메모리 보호를 요구하는) 여러 다른 영역으로 이루어져 있다. 그래서 각 섹션의 시작은 반드시 페이지 경계에 맞춰 정렬되어야 한다. 예를 들면, 전형적인 .text 섹션(프로그램 코드를 가지는)의 경우 execute/readwrite으로 매핑되어야 하고 .data 섹션(전역 변수들을 가지는)의 경우 no-execute/readwrite로 매핑되어야 한다. 그러나 공간 낭비를 피하기 위해서, 다른 섹션들은 디스크에서 페이지 정렬되어 있지 않다. 동적 링커의 일 중 하나는 각 섹션을 개별적으로 메모리에 매핑하고, 헤더에 있는 지시에 따라 그곳에 정확한 권한을 할당하는 것이다.

임포트 테이블

import address table (IAT) 섹션은 응용 프로그램이 다른 모듈에서 함수를 호출할 때 검색 테이블로 사용된다. 이것은 서수에 의한 들여오기나 이름에 의한 들여오기가 될 수 있다. 컴파일 된 프로그램은 의존하는 라이브러리의 메모리 위치를 모르기 때문에 API 호출 시 간접적인 점프가 요구된다. 동적 링커가 모듈을 로드하고 연결시키고, 실제 주소를 IAT에 넣는다. 그 후 상응하는 라이브러리 함수의 메모리 위치를 가리키게 된다. 비록 이 추가로 인해 모듈 내부의 호출에도 추가적인 점프가 요구되지만 이것은 중요한 이점을 가진다. 로더에 의해 변경되며 copy-on-write가 요구되는 메모리 페이지들의 수가 최소화돼서 메모리와 디스크의 입출력 시간을 절약할 수 있다. 만약 컴파일러가 호출이 모듈 내부에서 일어나는 것이라고 미리 안다면 더 최적화된 코드를 생산할 수도 있다.

재배치

PE 파일들은 위치 독립적 코드를 포함하지 않는다. 대신에 선호되는 우선되는 베이스 주소로 컴파일되고, 모든 주소들은 그 전에 고정된다. 만약 PE 파일이 우선되는 주소에 로드될 수 없다면(다른게 이미 위치하고 있는 경우) 운영 체제는 베이스 주소를 바꾼다. 이것은 모든 절대 주소를 다시 계산하고 새로운 값을 사용하도록 코드를 바꾸는 것을 포함한다. 로더는 이것을 우선되는 주소와 실제 로드될 주소를 비교하고 델타 값을 계산함으로써 수행한다. 그 후 우선되는 주소에 새로운 주소의 위치에 대한 값이 더해진다. 베이스 재배치들은 메모리 위치에 목록화되고 저장된다. 결과 코드는 이제 프로세스에 사적이 되고 공유될 수 없게 됨으로써 DLL의 수많은 메모리 절약 이점이 사라진다. 또한 모듈을 로딩하는 시간도 매우 느려지게 된다. 이 이유로 이러한 재배치는 가능한 한 피해지며, 마이크로소프트에서 나온 DLL들은 겹쳐질 수 없게 만들어져 있다.

다른 운영 체제에서의 사용

x86유닉스 계열 운영체제들에서 몇몇 윈도우 바이너리들은 와인으로 돌아갈 수 있다. 맥 OS X 10.5는 PE 파일들을 로드하고 분석할 수 있는 기능을 갖지만 윈도우와 호환은 되지 않는다.[5]

같이 보기

각주

  1. Andersson, Henrik (2015년 4월 23일). “application/vnd.microsoft.portable-executable”. IANA. 2017년 3월 26일에 확인함. 
  2. “UEFI Specification, version 2.4” (PDF). [깨진 링크(과거 내용 찾기)], a note on p.18, states that "this image type is chosen to enable UEFI images to contain Thumb and Thumb2 instructions while defining the EFI interfaces themselves to be in ARM mode."
  3. “UEFI Specification, version 2.4” (PDF). [깨진 링크(과거 내용 찾기)], a note on p.18, states that "this image type is chosen to enable UEFI images to contain Thumb and Thumb2 instructions while defining the EFI interfaces themselves to be in ARM mode."
  4. E.g. Microsoft's linker has /STUB switch to attach one
  5. Chartier, David (2007년 11월 30일). “Uncovered: Evidence that Mac OS X could run Windows apps soon”. 《Ars Technica》. 2016년 2월 11일에 확인함. ... Steven Edwards describes the discovery that Leopard apparently contains an undocumented loader for Portable Executables, a type of file used in 32-bit and 64-bit versions of Windows. More poking around revealed that Leopard's own loader tries to find Windows DLL files when attempting to load a Windows binary. 

관련 도서

  • 《Windows 시스템 실행 파일의 구조와 원리》 ISBN 9788979143324

외부 링크

관련 도구

Read other articles:

Succession of Egyptian kings The succession of kings at the end of the Eighteenth Dynasty of Ancient Egypt is a matter of great debate and confusion. There are very few contemporary records that can be relied upon, due to the nature of the Amarna Period and the reign of Akhenaten and his successors and possible co-regents. It is known that Akhenaten reigned for seventeen years, and it was previously believed that in the last 3 or 4 years, he had two co-regents: Smenkhkare, who was possibly hi...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Februari 2019. Kangding Qingge Hanzi: 康定情歌 Makna harfiah: Lagu Cinta Kangding Alih aksara Mandarin - Hanyu Pinyin: Kāngdìng qínggē - Wade-Giles: K'ang1-ting4 Ch'ing2-ko1 - Bopomofo: ㄎㄤ ㄉㄧㄥˋ ㄑㄧㄥˊ ㄍㄜ Kangding Qingge (Hanzi: 康定...

 

Junior James SpurrierLahir(1922-12-14)14 Desember 1922Castlewood, Russell County, Virginia[1]Meninggal25 Februari 1984(1984-02-25) (umur 61)Tennessee, AS[2]DikebumikanMountain Home National Cemetery, Johnson City, Tennessee, U.S.[3]Pengabdian Amerika SerikatDinas/cabang Angkatan Darat Amerika SerikatLama dinas1940-1945 1947-1951Pangkat Sersan StafNRP13018254KesatuanCompany G, 134th Infantry Regiment, 35th Infantry DivisionPerang/pertempuran Perang Dunia ...

IancaKotaLetak IancaNegara RumaniaProvinsiBrăilaStatusKotaPemerintahan • Wali kotaFănel George Chiriţă (Partidul Social Democrat)Luas • Total186,14 km2 (7,187 sq mi)Populasi (2002) • Total12.886Zona waktuUTC+2 (EET) • Musim panas (DST)UTC+3 (EEST)Situs webhttp://www.primaria-ianca.ro/ Ianca adalah kota yang terletak di provinsi Brăila, Rumania. Kota ini memiliki jumlah penduduk sebesar 12.886 jiwa. Kota ini pertama ...

 

Untuk anaksungai Tigris, lihat Khabur (Tigris). Sungai Kebar (Khabur) Bahasa Arab: نهر الخابور, Bahasa Aram:ܢܗܪܐ ܕܚܒܘܪ, Bahasa Kurdi: Çemê Xabûr, Bahasa Turki: Habur Nehri, Habor, Chaboras, Bahasa Ibrani Kebar,Chebar sungai Khabur sebelah selatan dari Al-Hasakah Countries Suriah, Turki Kota Ra's al-'Ayn, Al-Hasakah, Busayrah Sumber Ras al-'Ayn  - elevation 350 m (1.148 ft) Muara sungai Efrat Panjang 486 km (302 mi) DAS 37.081 km2 (14.31...

 

Black Moon RisingAlbum studio karya FalconerDirilis10 Juni 2014DirekamJanuari–Maret 2014 di Sonic Train Studios, VarbergGenrePower metal, folk metal, Viking metalDurasi50:59LabelMetal Blade RecordsKronologi Falconer Armod(2011) Black Moon Rising(2014) From a Dying Ember(2020) Black Moon Rising adalah album kedelapan karya grup musik folk metal Swedia Falconer, dirilis pada 10 Juni 2014 melalui Metal Blade Records.[1] Daftar lagu No.JudulDurasi1.Locust Swarm5:362.Halls and Chambe...

Kyodo NewsMenara Media Shiodome, kantor pusat Kyodo News di Minato, Tokyo, JepangSebelumnyaDomei News AgencyJenisKoperasi nirlabaIndustriKantor beritaDidirikan1945; 79 tahun lalu (1945)PendiriFurunu InosukeKantorpusatTokyo, Minato-ku, Higashi-Shimbashi 1-chome No. 7 No. 1Wilayah operasiJepang dan seluruh duniaAnakusahaKyodo News InternationalSitus webwww.kyodonews.jp Kyodo News (共同通信社code: ja is deprecated , Kyōdō Tsūshinsha) adalah koperasi agen berita nirlaba yang berbasis...

 

1973 American film directed by Jerrold Freedman This article is missing information about the film's plot, production, and broadcast history. Please expand the article to include this information. Further details may exist on the talk page. (September 2019) A Cold Night's DeathGenreHorrorSci-FiThrillerWritten byChristopher KnopfDirected byJerrold FreedmanStarringRobert CulpEli WallachMichael C. GwynneMusic byGil MelleCountry of originUnited StatesOriginal languageEnglishProductionExecutive pr...

 

«Palos» redirige aquí. Para otras acepciones, véase Palo (desambiguación). Para otros usos de este término, véase Palos de la Frontera (desambiguación). Palos de la Frontera ciudad y municipio de EspañaBanderaEscudo Vista panorámica de la entrada de Palos de la Frontera donde se observa la Fontanilla, la Iglesia de San Jorge Mártir y en el cabezo los restos del antiguo castillo de Palos. Palos de la FronteraUbicación de Palos de la Frontera en España Palos de la FronteraUbicació...

Taiwanese Corporation For sinology (Chinese studies), see Sinology. For the study of sound, see Sonology. This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Synology – news · newspapers · books · scholar · JSTOR (January 2021) (Learn how and when to remove this message) Synology, Inc.Native name群暉科技股份有限公司Company typePrivateIndustryNetwo...

 

韓國-馬來西亞關係 马来西亚 韩国 代表機構马来西亚驻韩国大使馆韩国驻马来西亚大使馆 韩国-马来西亚关系(韩语:대한민국-말레이시아 관계,馬來語:Hubungan Korea Selatan–Malaysia),亦称马来西亚-韩国关系,指韩国与马来西亚两国之间的双边关系。目前两国为“战略伙伴关系”。 历史 韩国与马来亚联合邦于1960年2月23日建交[1]。1962年5月,韩国在马来亚首都吉...

 

土库曼斯坦总统土库曼斯坦国徽土库曼斯坦总统旗現任谢尔达尔·别尔德穆哈梅多夫自2022年3月19日官邸阿什哈巴德总统府(Oguzkhan Presidential Palace)機關所在地阿什哈巴德任命者直接选举任期7年,可连选连任首任萨帕尔穆拉特·尼亚佐夫设立1991年10月27日 土库曼斯坦土库曼斯坦政府与政治 国家政府 土库曼斯坦宪法 国旗 国徽 国歌 立法機關(英语:National Council of Turkmenistan) ...

Human settlement in EnglandChelmondistonSt Andrew's Church, ChelmondistonChelmondistonLocation within SuffolkArea5.17 km2 (2.00 sq mi)Population1,054 (2011)[1]• Density204/km2 (530/sq mi)OS grid referenceTM204372DistrictBaberghShire countySuffolkRegionEastCountryEnglandSovereign stateUnited KingdomPost townIPSWICHPostcode districtIP9PoliceSuffolkFireSuffolkAmbulanceEast of England UK ParliamentSouth Suffolk List of places ...

 

American science fiction magazine (1963–1967) This article is about the science fiction magazine. For the science fiction anthology, see Worlds of Tomorrow. For the setting, see Sky Captain and the World of Tomorrow. The first issue of Worlds of Tomorrow was cover-dated April 1963 Worlds of Tomorrow was an American science fiction magazine published from 1963 to 1967, at which point it was merged into If. The first issue appeared in April 1963.[1] The last issue was published in May...

 

Turkish politician Hüseyin Rahmi GürpınarMember of the Grand National Assembly Personal detailsBornAugust 17, 1864Istanbul, Ottoman EmpireDiedMarch 8, 1944Istanbul, TurkeyNationalityTurkish Hüseyin Rahmi Gürpınar (August 17, 1864 – March 8, 1944) was a Turkish writer, civil servant, and politician. Biography Born in Istanbul, Gürpınar was the son of a family close to the Ottoman court. Having lost his mother at an early age, he was sent to Crete where his father was an Ottoman civil...

Bantayo Poboide sebagai salah satu Rumah Adat Gorontalo Benteng Otanaha, Kota Gorontalo Pariwisata di Gorontalo merupakan salah satu sektor ekonomi yang penting dan menjadi sumber alternatif pendapatan asli daerah.[1] Pariwisata sebagai salah satu tumpuan ekonomi di Gorontalo juga telah ditetapkan oleh pemerintah daerah Provinsi Gorontalo sebagai salah satu program pembangunan prioritas, selain sektor pendidikan dan kesehatan.[2] Provinsi Gorontalo memiliki objek wisata yang m...

 

Italian typewriter introduced in 1969 Olivetti ValentineThe Olivetti Valentinedesigned by Ettore Sottsass(with Perry King and Albert Leclerc)TypePortable typewriterInception1969ManufacturerOlivetti S.p.A. Specifications[1] Materials: ABS plastic, body and caseMetal, interior mechanicalsRubber, case straps Weight: 5 kg Height: 10 cm Width: 34 cm Depth: 36 cm The Olivetti Valentine is a portable, manual typewriter manufactured and marketed by the Italian company, Olivetti, that combined...

 

MaineWine regionOfficial nameState of MaineTypeU.S. stateYear established1820Years of wine industry1983-presentCountryUnited StatesTotal area33,414 square miles (86,542 km2)Grapes producedCayuga, Concord, De Chaunac, Leon Millot, Marechal Foch, Niagara, Seyval blanc[1]No. of wineries17 Maine wine is made from fruit grown in the U.S. state of Maine. Most is made from fruit other than grapes, including apple, cranberry, and blueberry wines. A few wineries in Maine produce limited ...

Region or constituency of the Scottish Parliament Kilmarnock and Irvine ValleyCounty constituencyfor the Scottish ParliamentKilmarnock and Irvine Valley shown within the South Scotland electoral region and the region shown within ScotlandPopulation82,864 (2019)[1]Current constituencyCreated2011PartyScottish National PartyMSPWillie CoffeyCouncil areaEast AyrshireCreated fromKilmarnock and Loudoun Kilmarnock and Irvine Valley is a constituency of the Scottish Parliament (Holyrood) cover...

 

American botanist (1841-1927) Sarg. redirects here. For other uses, see Sarg. Charles Sprague SargentBornApril 24, 1841Brookline, Massachusetts, U.S.DiedMarch 22, 1927 (1927-03-23) (aged 85)Boston, Massachusetts, U.S.EducationHarvard College (1862)Relatives Henry Winthrop Sargent (cousin) Andrew Robeson Jr. (father-in-law) Guy Lowell (son-in-law) AwardsVeitch Memorial MedalScientific careerAuthor abbrev. (botany)Sarg. EponymSargentodoxa 1st Director of Arnold ArboretumIn office...