EXE
| ํ์ผ ํ์ฅ์ | .exe |
|---|---|
| ์ธํฐ๋ท ๋ฏธ๋์ดย ํ์ | application/vnd.microsoft.portable-executable |
| ๋งค์ง ๋๋ฒ | 0x4d 0x5a |
| ๊ฐ๋ฐ | ๋ง์ดํฌ๋ก์ํํธ |
| ํฌ๋งท ์ข ๋ฅ | ์คํ ํ์ผ (์ด์ง ๊ธฐ๊ณ ์ฝ๋) |
| ๋ค์์ ์ปจํ ์ด๋ | ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ์ฃผ ์คํ ํฌ์ธํธ |
| ๋ค์์ ํฌํจ | ๋ง์ดํฌ๋ก์ํํธ ์๋์ฐ |
| ๋ค์์ผ๋กย ํ์ฅ | New Executable, Portable Executable, Linear Executable,W3, W4, DL, MP, P2, P3, ๋ฑ. |
| ์คํ ํฌ๋งท? | ์๋์ |
EXE๋ ์ผ๋ฐ์ ์ธ ํ์ผ ํ์ฅ์๋ก ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ์คํ ํ์ผ์ ๊ฐ๋ฆฌํจ๋ค. ์คํVMS, ๋์ค, ๋ง์ดํฌ๋ก์ํํธ ์๋์ฐ, ๋ฆฌ์ํธ์ค์์ค, OS/2 ์ด์ ์ฒด์ ์์ ์ฌ์ฉํ ์ ์๋ค.
์คํ ํ๋ก๊ทธ๋จ ์์ฒด๋ฟ ์๋๋ผ, ๋ง์ EXE ํ์ผ๋ค์ ๋นํธ๋งต, ์คํ ํ๋ก๊ทธ๋จ์ด ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋, ์์ด์ฝ๊ณผ ๊ฐ์ ๋ฆฌ์์ค๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ค๋ฅธ ๊ตฌ์ฑ ์์๋ค์ ํฌํจํ ์ ์๋ค.
๋์ค ์คํ ํ์ผ ํฌ๋งท์ 64 ํฌ๋ก๋ฐ์ดํธ๋ก ํฌ๊ธฐ๊ฐ ์ ํ๋๋ COM ์คํ ํ์ผ๊ณผ ๋ค๋ฅด๋ค. ๋์ค ์คํ ํ์ผ ํค๋๋ ์ฌ๋ฌ ๊ฐ์ ์ธ๊ทธ๋จผํธ๊ฐ DMA์์ ๋ก๋๋ ์ ์์ผ๋ฉฐ 64 ํฌ๋ก๋ฐ์ดํธ ์ด์์ ์คํ ํ์ผ์ ์ง์ํ๋ ๋ฆฌ๋ก์ผ์ด์ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ค.
ํ์ผ ํ์
[ํธ์ง]๋์ค
[ํธ์ง].exe ํ์ฅ์์ ํจ๊ป ์ฐ์ด๋ ์ฌ๋ฌ ์ข ๋ฅ์ ๋ค์ํ ํ์ผ ํ์์ด ์๋ค.
- 16-bit DOS MZ ์คํ ํ์ผ (Executable)
- ์๋ ๋์ค ์คํ ํ์ผ ํฌ๋งท. ์ด๊ฒ๋ค์ ํ์ผ ์์ ๋ถ๋ถ์ ์์คํค ์ฝ๋ "MZ" ๋ฌธ์๋ก ๊ตฌ๋ณ๋๋ค.
- 16-bit New ์คํ ํ์ผ (Executable)
- ๋ฉํฐํ์คํน MS-DOS 4.0์์ ๋์ ๋์ด, 16-bit OS/2 ์ ์๋์ฐ์์ ์ฌ์ฉ๋์์ผ๋ฉฐ, NE๋ ์์คํค ์ฝ๋ "NE" ๋ฌธ์๋ก ๊ตฌ๋ณ๋๋ค.
OS/2
[ํธ์ง]- 32-bit ์ ํ ์คํ ํ์ผ (Linear Executable)
- OS/2 2.0์์ ๋์ ๋์์ผ๋ฉฐ, ์ด๊ฒ๋ค์ ์์คํค ์ฝ๋ "LX"๋ก ๊ตฌ๋ณ๋๋ค. ์ด๊ฒ๋ค์ ์ค์ง OS/2 2.0์ ๊ทธ ์ด์ ๋ฒ์ ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.[1] ๋ํ ๋ช๋ช DOS extenders์ ์ํด ์ฌ์ฉ๋๋ค.
- Mixed 16/32-bit ์ ํ ์คํ ํ์ผ (Linear Executable)
- OS/2 2.0์์ ๋์ ๋์์ผ๋ฉฐ, ์ด๊ฒ๋ค์ ์์คํค ์ฝ๋ "LE"๋ก ๊ตฌ๋ณ๋๋ค. ์ด ํฌ๋งท์ VxD ๋๋ผ์ด๋ฒ๋ก ์ฌ์ฉ๋๋ฉฐ, ๋ํ ๋ช๋ช DOS extenders์ ์ํด ์ฌ์ฉ๋๋ค. (์๋์ฐ 3.x, OS/2, ๊ทธ๋ฆฌ๊ณ ์๋์ฐ 9x)
์๋์ฐ
[ํธ์ง]- 16-bit New Executable
- 16๋นํธ ๋๋ 32๋นํธ ์๋์ฐ ์คํ ํ์ผ์ NE ๋๋ PE์์ ์คํ๋๋ฉฐ, MZ ์ฝ๋๋ "DOS stub"์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ ๋ฌด์๋๋ค.[2][3] ๋์ค์์ ์คํ๋๋ ๊ฒฝ์ฐ, ์คํ ์ฝ๋๋ "This program cannot be run in DOS mode" ๋ฉ์์ง๋ฅผ ํ์ํ๊ณ ์ข ๋ฃ๋๋ค. regedit[4] ์ด๋ ์ค๋๋ WinZIP self extractors ๊ฐ์ ์์์ ๋์ผ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๋ ๊ธฐ๋ฅ์ ์ธ DOS ์น์ ์ ํฌํจํ๋ค.[5]
- 32-bit Portable Executable
- ์๋์ฐ NT์ ๋์ ๋์์ผ๋ฉฐ, ์์คํค ์ฝ๋ "PE"๋ก ๊ตฌ๋ณ๋๋ค. (๋น๋ก ์์ ๋ถ๋ถ์ ์๋์ง๋ง ์ด ํ์ผ๋ "MZ"๋ก ์์ํ๋ค)[6]
- 64-bit Portable Executable (PE32+)
- 64๋นํธ ๋ฒ์ ์ ์๋์ฐ์์ ๋์ ๋์์ผ๋ฉฐ ํ์ฅ๋ ํ๋๋ฅผ ๊ฐ๋ PE ํ์ผ์ด๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฝ๋๋ 32๋นํธ ๋๋ 64๋นํธ ์ด๋ ํ๋์์ ๋์๊ฐ ์ ์๊ฒ ์จ์ง ์ ์๋ค.[7]
๊ฐ์ด ๋ณด๊ธฐ
[ํธ์ง]๊ฐ์ฃผ
[ํธ์ง]- โ โOS/2 Operating Systemโ. ใoperating system documentation projectใ. 2004๋ 4์ 3์ผ. 2016๋ 2์ 12์ผ์ ํ์ธํจ.
- โ โ/STUB (MS-DOS Stub File Name)โ. ใMSDNใ. ๋ง์ดํฌ๋ก์ํํธ. 2016๋ 2์ 12์ผ์ ํ์ธํจ.
- โ Sedory, Daniel B. (2004๋ 10์ 12์ผ). โDOS Stub Programโ. ใThe Starman's Realmใ. Self-published. 2016๋ 2์ 12์ผ์ ํ์ธํจ.
- โ โUsing Registry Editor in Real Modeโ. ใSupportใ. ๋ง์ดํฌ๋ก์ํํธ. 2006๋ 11์ 15์ผ. 2016๋ 2์ 12์ผ์ ํ์ธํจ.
- โ Ellermann, Frank (2014๋ 1์ 22์ผ). โdostub.exeโ. 2016๋ 2์ 12์ผ์ ํ์ธํจ.
- โ โMicrosoft PE and COFF Specificationโ.
- โ Pietrek, Matt (February 2002). โAn In-Depth Look into the Win32 Portable Executable File Formatโ. ใMSDN Magazineใ (๋ง์ดํฌ๋ก์ํํธ).
์ธ๋ถ ๋งํฌ
[ํธ์ง]- (์์ด) MZ EXE header format